Tratto dalla guida in linea di AS3:
L'oggetto radice su menzionato è la MainTimeline o "root", ed è a questa che devi aggiungere gli elementi che attualmente aggiungi allo stage.Nota: il comando stage.addChild() può causare problemi con un file SWF pubblicato, tra cui problemi di sicurezza e conflitti con altri file SWF caricati. In un'istanza del runtime Flash è presente un solo stage, indipendentemente dal numero di file SWF caricati nel runtime. In generale, quindi, gli oggetti non devono assolutamente essere aggiunti direttamente allo stage. Il solo oggetto che lo stage deve contenere è l'oggetto radice. Create un DisplayObjectContainer che conterrà tutti gli elementi dell'elenco di visualizzazione. Quindi, se necessario, aggiungete allo stage tale istanza DisplayObjectContainer.
Per raggiungere la radice puoi:
- aggiungere gli elementi direttamente alla document class con "this" o senza indicare nulla
- aggiungere gli elementi a root, avendo cura di indicarlo come MovieClip, quindi MovieClip(root).addChild
Pertanto nel tuo caso dovresti avere una cosa del genere:
oppure:Codice PHP:class Main {
function Main() {
...
addChild(introRoom);
introRoom.button.addEventListener(MouseEvent.CLICK, onClick);
}
function onClick() {
addChild(room);
room.addChild(player);
removeChild(introRoom);
}
Codice PHP:class Main {
function Main() {
...
MovieClip(root).addChild(introRoom);
introRoom.button.addEventListener(MouseEvent.CLICK, onClick);
}
function onClick() {
MovieClip(root).addChild(room);
room.addChild(player);
MovieClip(root).removeChild(introRoom);
}

Rispondi quotando