FlashDevelopを使用して、キーボードイベントを検出するためのコードを少し入手しました。問題は、このコードをメインクラス(Main.as)から実行するとイベントがトリガーされますが、別のクラスに移動した場合はトリガーされないことです。
たとえば、私はメインクラスを持っています、そしてそれはこの機能を持っています
addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
public function onKeyDown(e:KeyboardEvent):void
{
trace(e.keyCode);
if (gameState == 1){main.onKeyDown(e);}
}
さて、これはファーストクラスでうまく機能します。しかし、それを2番目のクラスであるMainMenu.asに送信しても、何も起こりません。
main = new MainMenu();
addChild(main);
gameState = 1;
どちらのクラスからもメッセージはありません。イベントを2番目のクラスに入れても、何も起こりません。キーボードイベント以外の他のすべてのイベントは引き続き機能します。