Det er en del af prisen ved at nedarve fra movieclip :)
Synes godt om
Slettet bruger
19. september 2006 - 21:11#4
Tja... Nå, det bliver forhåbentlig lavet om i AS3. Og så lige... "Det er en del af prisen ved at nedarve fra movieclip :)" Er der andre metoder til at binde et objekt på scenen til en klasse? Du skal stadig bare smide et svar ;)
Forskellen mellem de to måder skal ses som en dybere forståelse af OOP. "Separation of concerns" og andet. Hvis jeg har en klasse:
class Bil { private var clip:MovieClip; public function Bil(some_clip:MovieClip) { clip = some_clip; } public function moveTo(x:Number, y:Number):Void { clip._x = x; clip._y = y; } }
Så kan jeg lave en bil og flytte den. Men hvis jeg istedet laver:
class Bil extends MovieClip { }
Så kan jeg lave en bil, flytte den (direkte via _x og _y), skalere den, dragge den, swappe den dybde, ... Altså jeg arver jo alle metoder og egenskaber fra movieclip, og det giver jo kun mening, hvis alle de ting skal kunne gøres ved min bil. Hvis min bil ikke må kunne skaleres, skifte farve, dragges og så videre, så er MovieClip-nedarvning ikke den rigtige vej at gå. Så bør man lave en klasse som ovenstående, der "dekorerer" et movieclip, og altså har et movieclip lokalt inden i som en privat egenskab og kun kan tilgås af klassen selv. Så kan andre klasser kun gøre de ting ved vores bil, som vi ønsker, at de skal gøre.
Håber du forstår :)
-- Morten Barklund
Synes godt om
Slettet bruger
20. september 2006 - 18:11#11
Ja. Nu forstår jeg det :D
Og I skal STADIG STADIG bare smide et svar... Nu bliver jeg snart gal >:(
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.