【问题标题】:can you make Keyboard events differ on different pages?你能让键盘事件在不同的页面上有所不同吗?
【发布时间】:2012-01-25 11:25:52
【问题描述】:
嘿,有没有办法让某些键在一个页面上做一件事,然后在另一个页面上做不同的事情,就像我使用的那样
但是在下一帧我不能再次使用空格键来执行另一个任务?
任何帮助将不胜感激
stop();
stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDownn);
function myKeyDownn(e:KeyboardEvent):void {
if (e.keyCode == Keyboard.SPACE){
gotoAndPlay("welcome");
}
}
【问题讨论】:
标签:
actionscript-3
keyboard
frame
addeventlistener
stage
【解决方案1】:
在你离开框架之前移除监听器。
stop();
stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDownn);
function myKeyDownn(e:KeyboardEvent):void {
if (e.keyCode == Keyboard.SPACE){
stage.removeEventListener(KeyboardEvent.KEY_DOWN, myKeyDownn);
gotoAndPlay("welcome");
}
}
在“欢迎”框架中再次添加相同的代码,只需更改 gotoAndPlay() 部分。
stop();
stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDownn);
function myKeyDownn(e:KeyboardEvent):void {
if (e.keyCode == Keyboard.SPACE){
stage.removeEventListener(KeyboardEvent.KEY_DOWN, myKeyDownn);
gotoAndPlay("a different frame");
}
}