Flash:KeyboardEvent 按键代码在 Flash Player 中有效,但在浏览器中无效

发布于 2024-12-01 13:38:47 字数 912 浏览 0 评论 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;
        }
    }

I'm using ActionScript to listen for key presses and route to a method to handle them. It works fine in Flash Player Debugger 10.1, but does not work with the SWF in a browser.

I've tried it with all sorts of keys: letters, numbers, etc. But I can't get it to work at all in the browser. I'm using Safari 5.1 and Firefox 3.6.8 on the Mac.

Here's my relevant code:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你怎么这么可爱啊 2024-12-08 13:38:47

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

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

The SWF object needs to have focus to receive the keyboard events. So, if you click on the SWF when it's displayed in a browser, it should work.

For security reasons, you cannot receive keyboard input when the focus is not on the Flash object (even if it takes the whole browser window).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文