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 回答