Persoonlijk vind ik het werken met MovieClip objecten in Flash zeer vreemd geimplemeteerd maar mss dat iemand me kan overtuigen dat het nog niet zo raar is.
Ik heb zo af en toe een (persoonlijk) flash projectje waar ik puur met ActionScript wil werken, geen items in de library. Het probleem waar ik dan direct tegen aanloop is wanneer ik met visuele objecten wil werken. Deze objecten kan ik alleen maken met de methode createEmptyMovieClip() (ik beperk me even tot MC's, TextFields e.a. negeer ik even). Vreemd, als ik een class maak die MovieClip extends (een button, scrollbar, of een ander visueel object) kan ik hem op geen enkele manier aan die _root MovieClip krijgen. Het enige wat ik kan doen is een class maken die als het ware een MovieClip op de _root "beheert", zoals deze class:
Vervolgens kan ik binnen deze class methodes los laten op deze MC.
Nu vraag ik me af, waarom werkt flash zo met MC's. In talen als java is het mogelijk om een instantie van zeg een button te maken en deze vervolgens met add() op een Pane te zetten, waarna deze zich kan weergeven. (Mss stel ik dit wat te simpel, ik weet niet wat er achter de schermen bij Java nog bij komt kijken).
Waarom heeft flash dit niet? wordt er van uitgegaan dat iedereen netjes items maakt in de library? (waar attachMovie() op gericht is).
Waarom heeft flash überhaupt het MovieClip object, aan new MovieClip() heb ik helemaal nix, ofwel?
Meningen?
Ik heb zo af en toe een (persoonlijk) flash projectje waar ik puur met ActionScript wil werken, geen items in de library. Het probleem waar ik dan direct tegen aanloop is wanneer ik met visuele objecten wil werken. Deze objecten kan ik alleen maken met de methode createEmptyMovieClip() (ik beperk me even tot MC's, TextFields e.a. negeer ik even). Vreemd, als ik een class maak die MovieClip extends (een button, scrollbar, of een ander visueel object) kan ik hem op geen enkele manier aan die _root MovieClip krijgen. Het enige wat ik kan doen is een class maken die als het ware een MovieClip op de _root "beheert", zoals deze class:
C:
1
2
3
4
5
6
7
8
9
| class Frame { function Frame(level:MovieClip, instanceName, depth) { level.createEmptyMovieClip(instanceName, depth); } } |
Vervolgens kan ik binnen deze class methodes los laten op deze MC.
Nu vraag ik me af, waarom werkt flash zo met MC's. In talen als java is het mogelijk om een instantie van zeg een button te maken en deze vervolgens met add() op een Pane te zetten, waarna deze zich kan weergeven. (Mss stel ik dit wat te simpel, ik weet niet wat er achter de schermen bij Java nog bij komt kijken).
Waarom heeft flash dit niet? wordt er van uitgegaan dat iedereen netjes items maakt in de library? (waar attachMovie() op gericht is).
Waarom heeft flash überhaupt het MovieClip object, aan new MovieClip() heb ik helemaal nix, ofwel?
Meningen?
"The Major advances in civilization are processes that all but wreck the societies in which they occur." -A. N. Whitehead