0

私は ActionScript を使用してキーの押下をリッスンし、それらを処理するメソッドにルーティングしています。Flash Player Debugger 10.1 では問題なく動作しますが、ブラウザの SWF では動作しません。

文字、数字など、あらゆる種類のキーで試しましたが、ブラウザでまったく機能しません。Mac で Safari 5.1 と Firefox 3.6.8 を使用しています。

関連するコードは次のとおりです。

import flash.events.KeyboardEvent;

stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed);

public function keyPressed(k:KeyboardEvent):void
    {
        switch(k.keyCode)
        {
            case(32):
                // spacebar
                demoTimeline.pause();
                break;
            case(leftArrow):
                // left arrow - 188
                demoTimeline.reverse();
                break;
            case(rightArrow):
                // right arrow - 190
                demoTimeline.play();
                break;
            case(191):
                // question mark - 191
                demoTimeline.restart();
                break;
        }
    }
4

1 に答える 1

1

キーボード イベントを受け取るには、SWF オブジェクトにフォーカスが必要です。そのため、SWF がブラウザに表示されているときにクリックすると、動作するはずです。

セキュリティ上の理由から、フォーカスが Flash オブジェクトにない場合 (ブラウザー ウィンドウ全体を使用している場合でも)、キーボード入力を受け取ることはできません。

于 2011-08-25T17:28:40.427 に答える