Flash:KeyboardEvent键码在Flash Player中运行,但不在浏览器中运行

时间:2011-08-25 17:20:32

标签: flash firefox safari keyboard keycode

我正在使用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;
        }
    }

1 个答案:

答案 0 :(得分:1)

SWF对象需要具有焦点才能接收键盘事件。因此,如果您在浏览器中显示SWF时单击它,它应该可以工作。

出于安全原因,当焦点不在Flash对象上时,您无法接收键盘输入(即使它占据整个浏览器窗口)。