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).