Actionscript 3 Actionscript 3.0:键盘事件和远程演示者
我有一个简单的Flash电影,代码如下。使用键盘上的箭头键从一帧移动到下一帧或返回:Actionscript 3 Actionscript 3.0:键盘事件和远程演示者,actionscript-3,flash-cs4,Actionscript 3,Flash Cs4,我有一个简单的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.keyCod
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演示器远程控制键盘之外,这一切都很好。它应该向计算机发送右箭头键或左箭头键的keydown命令,但它不起作用
它在我拥有的一个遗留Director项目上使用了类似的语法。也适用于PowerPoint
如有任何想法,将不胜感激。我正在Mac电脑上工作,但这部电影将作为编译后的应用程序在Windows和Mac平台上运行。如果它没有抛出错误,您必须关注stage并在事件侦听器下面编写
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;
}
}
当您按下遥控器上的按钮时,尝试跟踪处理程序接收到的密钥代码。建议与myKeyDown事件处理程序中的Anon.Trace e.keyCode相同。查看您是否获得了任何输出。另一个问题可能是您的应用程序正在失去焦点,从而丢失了关键事件。您可以使用计时器每隔几秒钟重新获取焦点以解决此问题。