Actionscript 3.0:键盘事件和远程演示者

发布于 2024-08-18 22:29:18 字数 597 浏览 3 评论 0原文

我有一个简单的 Flash 影片,代码如下。这个想法是使用键盘上的箭头键从一帧移动到下一帧或返回:

stop();

//listen for key press
stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown);

//if left or right arrow, go to previous or next frame
function myKeyDown(e:KeyboardEvent):void {

switch (e.keyCode) {
case Keyboard.LEFT :
prevFrame();
break;

case Keyboard.RIGHT :
nextFrame();
break;
}
}

因此,这工作正常,只是我需要使用 Kensington Presenter 远程控制键盘。它应该向计算机发送向右或向左箭头键的 keydown 命令,但它不起作用。

它确实适用于我拥有的旧版 Director 项目,使用类似的语法。也适用于 PowerPoint。

任何想法将不胜感激。我正在 Mac 上工作,但电影将作为编译的应用程序在 Windows 和 Mac 平台上运行。

I have a simple Flash movie with the following code. The idea is to move from one frame to the next or back using the arrow keys on the keyboard:

stop();

//listen for key press
stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown);

//if left or right arrow, go to previous or next frame
function myKeyDown(e:KeyboardEvent):void {

switch (e.keyCode) {
case Keyboard.LEFT :
prevFrame();
break;

case Keyboard.RIGHT :
nextFrame();
break;
}
}

So, this works fine, except that I need to use a Kensington Presenter to control the keyboard remotely. It should be sending a keydown command to the computer for either the right or left arrow keys, but it does not work.

It does work on a legacy Director project I have, using a similar syntax. Also works in PowerPoint.

Any thoughts would be appreciated. I'm working on a Mac, but the movie will run on Windows and Mac platforms as a compiled application.

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

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

发布评论

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

评论(1

十级心震 2024-08-25 22:29:19

如果它没有抛出错误,您必须聚焦阶段并在事件监听器下面编写

stage.focus = this;
stage.focusRect = false;

stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown);


function myKeyDown(e:KeyboardEvent):void {

switch (e.keyCode) {

case Keyboard.LEFT :

this.currentFrame++;

break;

case Keyboard.RIGHT :

this.currentFrame--;

break;
}

}

If it doesn't throw an error, you must focus stage and write below event listener

stage.focus = this;
stage.focusRect = false;

stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown);


function myKeyDown(e:KeyboardEvent):void {

switch (e.keyCode) {

case Keyboard.LEFT :

this.currentFrame++;

break;

case Keyboard.RIGHT :

this.currentFrame--;

break;
}

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