Ciao
Trovare istanze e applicare metodi ?
Esattamente come hai trovato l'istanza dei bottoni e hai applicato il Listener ovvero:
nomeIstanza.metodo
Quindi se il tuo MovieClip: "myrectangle" è posizionato sullo stage con il suo <nome istanza> nel fotogramma con etichetta "Gallery", in un fotogramma precedente hai il pulsante "gallery_btn" e questo codice:
Codice PHP:
gallery_btn.addEventListener(MouseEvent.CLICK, goGallery);
function goGallery (e:MouseEvent):void{
gotoAndStop("Gallery");
trace(myrectangle);}
Ricevi come output: [object MovieClip]
Mi sembra strano anche l'output che ricevi con il secondo esempio di codice in quanto utilizzi un "appendChild" che, per quel che ne sò è un metodo per aggiungere stringhe a un .xml e la classe Rectangle serve per creare aree rettangolari per diversi scopi ma non mi risulta che disegni rettangoli sullo stage.
L'ho usata per riempire con testi caricati dall'esterno aree scrollabili oppure, per delimitare un'area su cui fare calcoli sullo spostamento del mouseX e mouseY.
Per disegnare un rettangolo con AS3 e utilizzarlo come un MovieClip, devi istanziarlo e crearlo usando una variabile di tipo MovieClip e quindi disegnarlo con i metodi della proprietà graphics :
Codice PHP:
function goGallery(e:MouseEvent):void{
gotoAndStop("Gallery");
var secondRectangle:MovieClip = new MovieClip;
secondRectangle.graphics.lineStyle(1,0x000000);// (spessore linea,colore)
secondRectangle.graphics.beginFill(0x000000);// (colore)
secondRectangle.graphics.drawRect(100,100,100,50); // (x,y,larghezza,altezza)
addChild(secondRectangle);
trace(secondRectangle);}
Ricevi come output [object MovieClip] e puoi gestirlo con metodi e proprietà riservati ai MovieClip o usare metodi e proprietà create da te.
Comunque, tornando al tuo progetto di sito in flash considera che non è necessario utilizzare la timeline principale e puoi utilizzare il tuo filmato principale come base in cui richiamare le varie sezioni sulla scena solo quando richiesto.
ciao