Salve a tutti!
Ho già esperienza con i linguaggi di programmazione ad oggetti e sto provando per curiosità Actionscript 3.0
Vi spiego con un esempio il mio problema
Sto cercando di creare un piccolo sito in flash. Per farlo ho creato un file .fla e associato una classa .as esterna, ovvero non ho voluto programmare le azioni nel primo frame "alla vecchia maniera". Nel primo fotogramma ho messo il preloader. Da secondo inizia la scena vera e propria, che contiene due bottoni (Home e Gallery), che se premuti portano alla Home (frame 2) o alla gallery (frame 3). Quest'ultima contiene un rettangolo, che ho convertito in movieclip ed instanziato come "myrectangle" Qui è il mio mio problema.
Nel codice .as associato all'evento della pressione del bottone gallery ho scritto:
la risposta del debugger alla pressione del pulsante è: null;codice:function loadScene(e:Event):void{ home_btn.addEventListener(MouseEvent.CLICK, goHome); gallery_btn.addEventListener(MouseEvent.CLICK, goGallery); } function goGallery (e:MouseEvent):void{ gotoAndStop("Gallery"); trace(myrectangle); }
Se invece scrivo:
allora la risposta è Object Rectangle, così ho creato una nuova istanza... infatti sullo stage adesso mi appare sia il nuovo oggetto che il precedente che ancora è null, ma è quello che mi interessa manipolare.codice:function goGallery (e:MouseEvent):void{ gotoAndStop("Gallery"); var secondRectangle:Rectangle = new Rectangle(); appendChild(secondRectangle); trace(secondRectangle); }
Mi potete aiutare a comprendere meglio cosa succede?
Spero di essermi spiegato bene. Grazie a tutti in anticipo!

Rispondi quotando