3

actionscriptを使用して削除キーが押されたかどうかを確認するにはどうすればよいですか?

addEventListener(KeyboardEvent.KEY_UP, onKeyUp);

...

function onKeyUp(event:KeyboardEvent):void
{
    trace(event.keyCode);
}

上記のコードは、削除、バックスペース、Enter、およびその他のコマンドキーが押されたときに値を生成しません。ただし、矢印キー値を生成します。

4

4 に答える 4

8
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed);
....

function onKeyPressed(event:KeyboardEvent):void
{
   if (event.keyCode==Keyboard.DELETE) {
       .....
       }

}

それはうまく機能しています...しかし、Flashからムービーをテストすると、機能しないので、swfにエクスポートしてテストします...。

于 2009-12-11T08:39:06.067 に答える
2

TEXT_INPUTイベントを使用していると推測すると、これは削除とバックスペースでは機能しません。それらをキャッチするには、ステージにeventListenerを追加して、をリッスンしKeyboardEventます。

于 2009-10-09T00:46:03.947 に答える
1

リスナーをアタッチした表示オ​​ブジェクトにフォーカスがある場合、コードは正常に機能します。グローバルリスニングの場合、テオが言ったように、リスナーをに接続する必要がありますstagestageディスプレイリストにまだ追加されていないオブジェクトからアクセスすると、nullエラーが発生します。安全のために、ADDED_TO_STAGEイベントハンドラーで実行してください。

于 2009-10-09T04:27:00.147 に答える
1

古いスレッドですが、誰かがこれまでに到達した場合:IDE内のFlash Playerでは、これらのキーはショートカットに関連付けられています。ムービーをテストするときは、プレーヤーで[コントロール]> [キーボードショートカットを無効にする]を選択すると、イベントが返されます。

于 2011-09-21T09:45:43.040 に答える