Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
flash: moj class extend MovieClip

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Flash
View previous topic :: View next topic  
Author Message
nemogirl



Joined: 27 Oct 2004
Posts: 386
Location: istra

PostPosted: 20.11.2006 21:40    Post subject: flash: moj class extend MovieClip Add user to your forum ignore list Reply with quote

pokusavam petljat s classovima! Very Happy
attacham jedan mc i dodijelim mu class Linx.
ali kad onda pokusam van classa dodijeliti onRollOver funkciju - to ne radi.
ne kuzim zasto jer ako moj class Linx extend-a MovieClip class onda bi trebao naslijediti sve funkcije i metode te klase... Question
ovo je class
Code:

class Linx extends MovieClip {
   public function Linx(mc:MovieClip) {
      mc._x = 100;
      mc._y = 100;

   }

}


a ovo je kod u fla
Code:

_root.attachMovie("x", "x1", 10);
x1 = new Linx(x1);
x1.onRollOver = function(){
   trace("over");
   }


znaci, pozicioniranje u classu radi ali ovaj trace se ne izvrsi... Confused
any ideas?
Back to top
View user's profile Send private message
Skyward



Joined: 27 Aug 2006
Posts: 174
Location: Mamlazoland

PostPosted: 20.11.2006 22:35    Post subject: Add user to your forum ignore list Reply with quote

as file nazovi proizvoljno i u fla fajlu moraš importat klasu.

također u fla-u moraš u library-u uključiti linkage za MC.

a imaš ako stisneš F1 i veliki help u flashu gdje ti piše sve o klasama...
Back to top
View user's profile Send private message
nemogirl



Joined: 27 Oct 2004
Posts: 386
Location: istra

PostPosted: 20.11.2006 23:48    Post subject: Add user to your forum ignore list Reply with quote

Skyward wrote:
as file nazovi proizvoljno i u fla fajlu moraš importat klasu.

također u fla-u moraš u library-u uključiti linkage za MC.

a imaš ako stisneš F1 i veliki help u flashu gdje ti piše sve o klasama...


da, cula sam za F1 Very Happy
hocu reci, prosla sam vec cijeli help o klasama. sto se tice extendanja built-in classa - jako malo pise.
da, i guglala sam nesto.
pitam ako je netko mozda radio nesto slicno...
a as file u kojem mi je klasa mora se zvati isto kao i sam klas i ne moram ga importat ako se nalazi u istom dir-u kao i fla ili ako definiram classpath u slucaju da se nalazi u nekom drugom dir-u. bar koliko sam ja uspjela skuziti i procitati u helpu!

rijesila sam si problem, ali kao i obicno do pola. proradi mi ako u librariju definiram za taj mc u propertiesima pod "AS 2.0 class" taj class i ako izmijenim malo taj class tako da nema argumenata...
ali ja zelim samo nekim instancama moci dodijeliti taj class...
Confused
Back to top
View user's profile Send private message
dblchckd



Joined: 02 Apr 2006
Posts: 106

PostPosted: 21.11.2006 03:46    Post subject: Add user to your forum ignore list Reply with quote

nemogirl wrote:
Skyward wrote:
as file nazovi proizvoljno i u fla fajlu moraš importat klasu.

također u fla-u moraš u library-u uključiti linkage za MC.

a imaš ako stisneš F1 i veliki help u flashu gdje ti piše sve o klasama...


da, cula sam za F1 Very Happy
hocu reci, prosla sam vec cijeli help o klasama. sto se tice extendanja built-in classa - jako malo pise.
da, i guglala sam nesto.
pitam ako je netko mozda radio nesto slicno...
a as file u kojem mi je klasa mora se zvati isto kao i sam klas i ne moram ga importat ako se nalazi u istom dir-u kao i fla ili ako definiram classpath u slucaju da se nalazi u nekom drugom dir-u. bar koliko sam ja uspjela skuziti i procitati u helpu!

rijesila sam si problem, ali kao i obicno do pola. proradi mi ako u librariju definiram za taj mc u propertiesima pod "AS 2.0 class" taj class i ako izmijenim malo taj class tako da nema argumenata...
ali ja zelim samo nekim instancama moci dodijeliti taj class...
Confused


nemogirl wrote:
pokusavam petljat s classovima! Very Happy
attacham jedan mc i dodijelim mu class Linx.
ali kad onda pokusam van classa dodijeliti onRollOver funkciju - to ne radi.
ne kuzim zasto jer ako moj class Linx extend-a MovieClip class onda bi trebao naslijediti sve funkcije i metode te klase... Question
ovo je class
Code:

class Linx extends MovieClip {
   public function Linx(mc:MovieClip) {
      mc._x = 100;
      mc._y = 100;

   }

}


a ovo je kod u fla
Code:

_root.attachMovie("x", "x1", 10);
x1 = new Linx(x1);
x1.onRollOver = function(){
   trace("over");
   }


znaci, pozicioniranje u classu radi ali ovaj trace se ne izvrsi... Confused
any ideas?


Evo zasto ti nista ne radi kako spada:

Kao prvo i najvaznije je to da postoji pravilo kod extendanja MovieClip klase u AS2 a to je:
Instance subclase MovieClipa se NIKADA ne rade pomocu new operatora!... A to onda podrazumijeva i da ti unutar te subclase ne treba constructor funkcija (to je ona funkcija istog imena kao i klasa, koja se pokrece nakon pozivanja new operatora).
Instanca subclase se instancira jednako kao sto se instancira obicni MovieClip, tj. rucno dreganjem na stage, ili programatski sa attachMovie() ili duplicateMovieClip().
Naravno, podrazumijeva se da imas u libraryju movie clip symbol koji u linkage propertysima ima definiran identifier, AS 2.0 class i chekiran Export for ActionScript.

Drugo, kad bi se MovieClip subclase i mogle instancirati pomocu new operatora (ali, opet napominjem, ne mogu), u tvom konkretnom primjeru nepotrebno bi dodavala constructoru parametar mc:MovieClip da bi se referirala na instancu svoje subclase. Unutar tvoje klase referenca na tu instancu bi bila this, i nije mu potrebno dodavati referencu.

I sad ti dajem jedan primjer rjesenja tvog problema:

Code:
class Linx extends MovieClip {

   public function setPosition(X:Number, Y:Number):Void {
      this._x = X;
      this._y= Y;

      }
}

A u tvom .flau slijedeci kod
Code:
var x1 = _root.attachMovie("x", "whatever", 10);
x1.setPosition(50, 50);
x1.onRollOver = function(){
   trace("onRollOver triggered");
}

Naravno, provjeri jeli ti sve u linkage propertisima ispravno definirano

Ako dodas slijedecu lajnu uvjerit ces se da je tvoj x1 zaista instance Linx klase
Code:
trace(x1 instanceof Linx); // u output prozoru ce pisati true


Cisto radi primjera sam ti u Linx klasi definirao setPosition() methodu da vidis kako se mozes referirati na svoj Linx mc unutar Linx klase i kako je mozes koristiti poslije. A kad testiras movie vidjeces da sad onRollOver funkcionira kako treba.


Jos da se osvrnem na nesto sto si spomenula. Nazalost, ne mozes, ako si u linkage propertisima "vezala" svoj movie clip symbol s nekom klasom, samo nekim instancama "dodijeliti" tu klasu a drugima ne. Sve instance ce pripadati subklasi. Iako ne vidim zasto bi to bio problem, jednostavno nemoj koristiti funkcionalnost subklase i imat ces "obicnu" MovieClip instancu. U ovom kokretnom primjeru jednostavno nemoj nikad upotrijebiti setPosition() i sve ce biti kao da imas najobicniju MovieClip instancu na stageu. Ako zelis mozes dodati Linx klasi metodu koju ces nazvati recimo setOnRollOver() (dolje primjer) i pozvati je samo na onim instancama na kojima ti to treba.
Iz koda koji si postala se ne da iscitati zbog cega ti uopce treba subklasa MovieClip klase. Je li ti to uopce nuzno (pitam jer sam vidio mnogo primjera nepotrebnog subklasiranja MovieClip klase)? U ovom jednostavnom primjeru je to naravno suvisno. Bilo bi suvislije sve to rijesiti bez subklasiranja, a primjer je koristan samo kao vjezba. Ali kako nisi napisala sto si u konacnici htjela postici morat ces sama procijeniti treba li ti subklasa ili ne..
Code:
class Linx extends MovieClip {

   public function setPosition(X:Number, Y:Number):Void {
      this._x = X;
      this._y= Y;
      }
   public function setOnRollOver():Void{
      this.onRollOver = function(){
         trace("onRollOver triggered");
      }
   }
}

Code:
var x1 = _root.attachMovie("x", "whatever", 10);
x1.setPosition(50, 50);
x1.setOnRollOver();


Eto, nadam se da je bilo od pomoci...
Back to top
View user's profile Send private message
nemogirl



Joined: 27 Oct 2004
Posts: 386
Location: istra

PostPosted: 21.11.2006 17:02    Post subject: Add user to your forum ignore list Reply with quote

dblchckd wrote:

Kao prvo i najvaznije je to da postoji pravilo kod extendanja MovieClip klase u AS2 a to je:
Instance subclase MovieClipa se NIKADA ne rade pomocu new operatora!...


ok, to nisam znala!

dblchckd wrote:

Drugo, kad bi se MovieClip subclase i mogle instancirati pomocu new operatora (ali, opet napominjem, ne mogu), u tvom konkretnom primjeru nepotrebno bi dodavala constructoru parametar mc:MovieClip da bi se referirala na instancu svoje subclase. Unutar tvoje klase referenca na tu instancu bi bila this, i nije mu potrebno dodavati referencu.


i meni je to bilo cudno i besmisleno, ali jedino tako mi je prepoznavao _x i _y propertije u mom primjeru. ako je glupo i radi onda nije glupo Very Happy ... sad kuzim da sam imala kriv pristup.

dblchckd wrote:

Jos da se osvrnem na nesto sto si spomenula. Nazalost, ne mozes, ako si u linkage propertisima "vezala" svoj movie clip symbol s nekom klasom, samo nekim instancama "dodijeliti" tu klasu a drugima ne. Sve instance ce pripadati subklasi. Iako ne vidim zasto bi to bio problem, jednostavno nemoj koristiti funkcionalnost subklase i imat ces "obicnu" MovieClip instancu.


da, to mi nije palo na pamet! ima smisla Smile

dblchckd wrote:

Iz koda koji si postala se ne da iscitati zbog cega ti uopce treba subklasa MovieClip klase. Je li ti to uopce nuzno (pitam jer sam vidio mnogo primjera nepotrebnog subklasiranja MovieClip klase)? U ovom jednostavnom primjeru je to naravno suvisno. Bilo bi suvislije sve to rijesiti bez subklasiranja, a primjer je koristan samo kao vjezba. Ali kako nisi napisala sto si u konacnici htjela postici morat ces sama procijeniti treba li ti subklasa ili ne..


ma ovo je bilo vise kao vjezba, ali i pripremanje for the real thing... tj. ispitujem mogucnosti da ih kasnije mogu upotrijebiti. za sad mislim da sam skuzila sta rade klase i kako ih napisat, ali jos uvijek mi je tesko procijeniti kad ih koristit a kad je to suvisno... Rolling Eyes
nekako imam feeling da je najveca moc klasa u subklasiranju... Question
da li mi samo iskustvo moze pomoci kod organizacije koda ? imas li mozda koji link u rukavu o tome? guglala sam ali nisam puno nasla..
moj je problem to sto znam da postoji bar 5 nacina da nesto isprogramiram a ne znam koji je najbolji nacin... tek kad nesto napisem skoro do kraja skuzim da sam mozda izabrala kriv nacin Embarassed
nevermind

na kraju, puno ti hvala na citanju i tako opsirnom odgovaranju! it really helps Very Happy
Back to top
View user's profile Send private message
Adrian



Joined: 02 Apr 2004
Posts: 692
Location: Around & about

PostPosted: 21.11.2006 22:52    Post subject: Add user to your forum ignore list Reply with quote

@dblchckd:
Hvala na objašnjenju i od nas "lurkera", vidi se da znaš o čemu pričaš.

Osobno sam naišao na mnoge probleme pri radu s actionscriptom, uglavnom zbog takoreć loše dokumentacije, iliti nedovoljno dostupnih primjera kompleksnijih aplikacija i objašnjenja arhitekture istih. Nekako mi se čini da bi ljudi radili puno kvalitetnije i naprednije stvari da imaju dobrih primjera. Stoga bih te zamolio da nam malo objasniš gdje si naučio sve te stvari, te da li znaš za neki napredniji resurs (osim ultratromih livedocsa Smile ) na kojemu bi mogli praksat takve stvari.
Hvala.

P.S. Sory na OT-u.

_________________
The quest for certainty blocks the search for meaning. Uncertainty is the very condition to impel a man to unfold his powers.
http://origami.hr
Back to top
View user's profile Send private message Visit poster's website
dblchckd



Joined: 02 Apr 2006
Posts: 106

PostPosted: 22.11.2006 17:46    Post subject: Add user to your forum ignore list Reply with quote

nemogirl wrote:
da li mi samo iskustvo moze pomoci kod organizacije koda ? imas li mozda koji link u rukavu o tome? guglala sam ali nisam puno nasla..
Adrian wrote:

Osobno sam naišao na mnoge probleme pri radu s actionscriptom, uglavnom zbog takoreć loše dokumentacije, iliti nedovoljno dostupnih primjera kompleksnijih aplikacija i objašnjenja arhitekture istih. Nekako mi se čini da bi ljudi radili puno kvalitetnije i naprednije stvari da imaju dobrih primjera. Stoga bih te zamolio da nam malo objasniš gdje si naučio sve te stvari, te da li znaš za neki napredniji resurs (osim ultratromih livedocsa Smile ) na kojemu bi mogli praksat takve stvari.
Hvala.



Iskustvo sigurno olaksava organizaciju, ali je prije dobro imati dobre temelje. Moji najvazniji izvori su bili ziva komunikacija s onima koji znaju vise od mene i knjige. A poslije toga po vaznosti bi stavio i nezaobilazne tutoriale i primjere tudjih radova s neta (nekad sam volio surfati na bit-101.com gdje su bili odlicni .flaovi). Ja sam imao srecu da sam poznavao neke dobre programere koji su mi prenijeli neka svoja znanja (bavim se programiranjem iz hobija, i to iskljucivo actionscriptom) i koji su me uputili me na citanje dobre literature.

Od knjiga bi definitivno izdvojio tri koje daju odlicne temelje i mnoge dileme koje vas sad muce oko organizacije koda bi postale lakse (ali dileme uvijek ostaju samo se sele na novi level Smile)

Mislim da nema sumnje da su knjige colina moocka pisane za O'Reilly uvjerljivo najbolji "udzbenici" za actionscript na trzistu.

Oko toga mislim da postoji konsenzus u actionscript comunityju. Jos nikad nisam pomislio ili cuo da je netko argumentirano izrekao da te knjige ne valjaju ili da postoje neke bolje koje obradjuju istu tematiku. Znaci knjige su:

-ActionScript for Flash MX: The Definitive Guide ili skraceno ASDG2 (dvojka jer je to drugo dopunjeno i izmjenjeno izdanje).
Ona obradjuje osnovne pojmove programiranja i actionscripta zatim daje odlicne primjere koda i na kraju ima podroban language reference, nesto kao help kakav bismo zeljeli da bude, znaci podroban, sa real life primjerima koristenja. Nazalost, knjiga vec dugo nije updateana, i bavi se actioscriptom 1, ali svejedno je jako korisna, cak i sad kad izlazi trojka, jer se bavi fundamentalnim stvarima.

-Essential ActionScript 2.0 iliti EAS2 koja je logican nastavak ASDG2. Ona nije, kako bi se mozda impliciralo po naslovu update prve knjige. Ona podrazumijeva da je prva knjiga procitana (ili da je citatelj upoznat s osnovnim pojmovima) a onda obradjuje teoriju OOP programiranja i za to potrebnu sintaksu AS2. Dodiruje i temu design patternsa i upucuje na knjigu iz tog podrucja koja je...

-...treca knjiga: kultna Design Patterns: Elements of Reusable Object-Oriented Software ili popularno GoF (po Gang-Of-Four, cetvorici autora)...
Ovo je tema koja se bavi dilemama koje ste izrazili da vas muce, kako u odredjenim situacijama organizirati svoj OOP kod. Design patterns nude univerzalna rjesenja, nacrte, uopcena rjesenja problema koji se javljaju prilikom programiranja. Proguglajte: "design patterns", i "GoF" gdje cete naci i vise nego dovoljno informacija na tu temu. Napomena da je knjiga dosta stara, izasla je '95 i dozivjela mnogo reizdanja. Koliko se sjecam, mislim da sam ja citao 20. izdanje a ne znam koliko ih je jos izaslo. Tako da ima i novijih knjiga na tu temu za svaciji ukus pa bi trebalo malo istraziti i mozda se odluciti i za neku alternativu...

Preporucujem knjige citati tim redoslijedom.
Od moocka bi trebala uskoro izaci i Essential ActionScript 3.0: Rough Cuts Version pa vjerujem da ce biti jednako dobra kao i prethodne...

Ima jos brdo literature na temu actionscripta hackova cookbookova, biblija, a u svakoj knjizi koju sam ja procitao sam nesto korisno naucio ali nazalost nisu sve jednako korisne (izdvajam joeya lotta kao odlicnog autora starog Cookbooka i "flash hacks" knjige isto od O'Reillya. A upravo bi trebala izaci njegova knjiga "Advanced ActionScript 3 with Design Patterns" i vec izasla "ActionScript 3.0 Cookbook" za one koje zanima AS3. Pregledao sam i njegove korisne video tutorijale za AS3 a link za njihov download je postao Danko u threadu http://www.mi3dot.org/forum/viewtopic.php?t=9678).
Tri knjige koje sam gore naveo su po mom misljenju definitivno najbolja baza. I mogu reci da sam imao srecu kad sam poceo citati takvu literaturu da su mi preporucili prvo njih.

I jos
nemogirl wrote:
nekako imam feeling da je najveca moc klasa u subklasiranju...Question

Najveca moc klasa je u encapsulaciji koda, a sto se tice subklasiranja odnosno inheritanca neke teorije idu dotle da cak ga treba potpuno izbjegavati. U svakom slucaju inheritance nije nuzno najbolje rjesenje ali to je tema malo preopsirna za ovaj post. Bolje razumijevanje toga nudi druga knjiga koju sam naveo EAS2.

Eto, sad guglajte dalje...
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Flash All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group