Nella classe Main, collegata al file .fla, c'è questo:
codice:
 
class Main { 
   function Main() { 
      addChild(introRoom); 
      introRoom.button.addEventListener(MouseEvent.CLICK, onClick); 
   } 
   function onClick() { 
      room = new Room(MovieClip(this));
      addChild(room); 
      room.addChild(player); 
      removeChild(introRoom); 
}
Nella classe Room, collegata a un simbolo chiamato Room, c'è questo (la variabile ROOT l'ho aggiunta per assecondare il tuo primo suggerimento, visto che con MovieClip(root) non funzionava):
codice:
public class Room {
   public function Room(ROOT:Object) {
      // constructor code
      player = new Player(PLAYER_STARTX, PLAYER_STARTY, ROOT)
      this.addChild(player);
    }   
}
Nella classe Player, collegata a un simbolo chiamato Player, c'è questo:
codice:
public class Player {
   public function Player(startX:uint, startY:uint, ROOT:Object) {
      // constructor code
      this.x = startX;
      this.y = startY;
      ROOT.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
   }
}
Spero sia chiaro ora.
Lo scopo è che l'oggetto player rilevi la pressione dei tasti (cosa che così non succede).