Tratto dalla guida in linea di AS3:
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.
L'oggetto radice su menzionato è la MainTimeline o "root", ed è a questa che devi aggiungere gli elementi che attualmente aggiungi allo stage.
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:

Codice PHP:
class Main {
   function 
Main() {
      ...
      
addChild(introRoom);
      
introRoom.button.addEventListener(MouseEvent.CLICKonClick);
   }
   function 
onClick() {
      
addChild(room);
      
room.addChild(player);
      
removeChild(introRoom);

oppure:

Codice PHP:
class Main {
   function 
Main() {
      ...
      
MovieClip(root).addChild(introRoom);
      
introRoom.button.addEventListener(MouseEvent.CLICKonClick);
   }
   function 
onClick() {
      
MovieClip(root).addChild(room);
      
room.addChild(player);
      
MovieClip(root).removeChild(introRoom);