0

マウスだけで遊べるフラッシュゲームを作っています。すべてのキーボード キーを無効にする必要がありますが、うまくいきません。

私はそれを作る方法を本当に理解していません.すべてのオブジェクトまたはボタンからEventListenersを削除する必要がありますか? 多分ここにすべてのキーを無効にする方法がありますか?たとえば、これを試しましたが、機能しませんでした:

myButton1.removeEventListener(KeyboardEvent.KEY_UP, blindKeyboard);
myButton1.removeEventListener(KeyboardEvent.KEY_DOWN, blindKeyboard);
myButton2.removeEventListener(KeyboardEvent.KEY_UP, blindKeyboard);
myButton2.removeEventListener(KeyboardEvent.KEY_DOWN, blindKeyboard);

function blindKeyboard(e:KeyboardEvent):void{
    e.preventDefault();
    e.stopPropagation();
}

私たちを手伝ってくれますか?ありがとう。

4

2 に答える 2

3

まず、ActionScript 3 では、キーボード イベント リスナーをオブジェクトではなく、ステージに配置します。

stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressedDown);

次に、キーボードのイベント リスナーを設定しましたか? あなたが持っていない限り、ゲームはキーボードコマンドを受け取るべきではないからです. それにイベントリスナーを追加する必要があります。

それとも、プレイヤーが入力テキスト フィールドに何も入力できないようにする必要があるということですか? では、これを使ってみてはどうでしょうか。

inputField.maxChars=0;

最大文字数がゼロに設定されているため、何も入力できません。

于 2013-05-12T14:12:17.787 に答える
1

stage.addEventListener(KeyboardEvent.KEY_UP, blindKeyboard);
stage.addEventListener(KeyboardEvent.KEY_DOWN, blindKeyboard);

function blindKeyboard(e:KeyboardEvent):void{
    e.preventDefault();
    e.stopPropagation();
}

これはうまくいくはずです。ただし、一部のキーはオフにすることができず、デフォルトの動作を維持することに注意してください (たとえば、ブラウザ ページでゲームを公開している場合、エスケープ キーがフルスクリーンを終了するのを防ぐことはできません)。モード)。さらにヘルプが必要な場合は、さらに情報が必要です...まだ必要な場合は、お気軽に私に答えて、質問に詳細を追加してください。

于 2013-05-13T04:15:59.127 に答える