2011-07-08 16 views
1

私は単純なポンゲームを開始しています。私はまだ何もしないパドルクラスを作成しました。しかし、私はそれが動作しているとは思わない。私は、コードを実行するとKey press not triggering KeyboardEvent

var player:Paddle = new Paddle; 
addChild(player); 

が、私はハロー取得!私が押したときに、任意のキー何も起こりません:

package 
{ 
    import flash.display.MovieClip; 
    import flash.events.KeyboardEvent; 
    public class Paddle extends MovieClip 
    { 
      private var paddleSpeed:int = 4; 

      public function Paddle() 
      { 
       trace("hello!") 
       addEventListener(KeyboardEvent.KEY_DOWN, keyDown); 
      } 

      public function keyDown(e:KeyboardEvent):void 
      { 
       trace(e.keyCode); 
      } 

    } 

} 

はMain.asでは、私はこれを行っています。私はKeyboardEventチュートリアルを読んでいます。私は彼らがやっていることをやっています。任意の助けをありがとう

答えて

2

stage代わりのPaddleにイベントリスナーを追加してみてください。また、プロジェクトをテストするときは、キーボードショートカットが無効になっていることを確認してください。

enter image description here

私は実際には正常にやっていることは、私は、アプリケーション全体で参照することができdown()機能をKeyboardクラスを作るです。その使用方法は次のようになります。

if(Keyboard.down(65, 67)) 
{ 
    trace("A and/or C are being held down!"); 
} 
2

KeyboardEvent.KEY_DOWNは、のフォーカスによってトリガされます。空のクリップにはフォーカスできません。

あなたの状況のた​​めの信頼できる方法は、ステージを購読することです。

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);