Flash: ключевые коды KeyboardEvent работают во Flash Player, но не в браузере - PullRequest
0 голосов
/ 25 августа 2011

Я использую ActionScript для прослушивания нажатий клавиш и маршрутизации к методу для их обработки.Он отлично работает в Flash Player Debugger 10.1, но не работает с SWF в браузере.

Я пробовал все типы клавиш: буквы, цифры и т. Д. Но я не могу заставить его работать в браузере.Я использую Safari 5.1 и Firefox 3.6.8 на Mac.

Вот мой соответствующий код:

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;
        }
    }

1 Ответ

1 голос
/ 25 августа 2011

SWF-объект должен иметь фокус для получения событий клавиатуры.Поэтому, если вы щелкнете по SWF, когда он отображается в браузере, он должен работать.

По соображениям безопасности вы не можете получать ввод с клавиатуры, когда фокус не на объекте Flash (даже если он занимает весьокно браузера).

...