如何确定是否使用动作脚本按下了删除键?
addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
...
function onKeyUp(event:KeyboardEvent):void
{
trace(event.keyCode);
}
当按下删除、退格、回车和其他命令键时,上面的代码不会产生任何值。但是,箭头键确实会产生值。
如何确定是否使用动作脚本按下了删除键?
addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
...
function onKeyUp(event:KeyboardEvent):void
{
trace(event.keyCode);
}
当按下删除、退格、回车和其他命令键时,上面的代码不会产生任何值。但是,箭头键确实会产生值。
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed);
....
function onKeyPressed(event:KeyboardEvent):void
{
if (event.keyCode==Keyboard.DELETE) {
.....
}
}
它工作得很好......但是如果你从 Flash 测试电影,它不会工作,所以导出到 swf 并测试......
只是猜测您正在使用 TEXT_INPUT 事件,这不适用于删除和退格。要捕获这些,您可以在舞台上添加一个 eventListener 并收听KeyboardEvent
.
如果您附加侦听器的显示对象处于焦点位置,则代码将正常工作。正如 Theo 所说,对于全局监听,您必须将监听器附加到stage
. stage
从尚未添加到显示列表的对象访问将导致 null 错误。为了安全起见,在 ADDED_TO_STAGE 事件处理程序中执行此操作。
旧线程,但如果有人走到这一步:在 IDE 内的 Flash Player 中,这些键与快捷方式相关联。当你测试你的电影时,在播放器中选择控制>禁用键盘快捷键,你会得到事件。