我有两个框架,一个标有" mainFrame"另一个标有" secondFrame"。当程序启动时,用户单击一个名为start的按钮,该按钮将用户发送到" secondFrame"。一旦用户在第二帧上,跟踪他们按下的任何键的KeyCode,如果按下的键具有68的KeyCode,则程序返回到" mainFrame"。这很好用,问题是当用户再次点击按钮并返回" secondFrame"此时KeyCode不会跟踪。 以下是mainFrame上的代码:
stop();
start.addEventListener(MouseEvent.CLICK, startGame);
function startGame(e:MouseEvent):void
{
gotoAndStop("secondFrame");
}
第二个框架上的代码:
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownCheck);
function keyDownCheck(event:KeyboardEvent):void
{
trace(event.keyCode);
if(event.keyCode == 68)
{
gotoAndStop("mainFrame");
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownCheck);
}
}
我确定我做了一些愚蠢明显的事情,阻止了这项工作,但我无法弄明白什么。
答案 0 :(得分:0)
尝试将this.setFocus()添加到第二帧的代码中。
答案 1 :(得分:0)
我找到了答案!好吧,Zavr和Vesper实际上说它是xD重点是应用程序设置的,所以stage.focus()=这个工作。当我第一次尝试时,我不知道我做了什么导致了错误,但现在可以正常工作了xD谢谢大家!
答案 2 :(得分:-1)
将第二帧代码更改为:
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownCheck);
function keyDownCheck(event:KeyboardEvent):void
{
trace(event.keyCode);
if(event.keyCode == 68)
{
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownCheck);
gotoAndStop("mainFrame");
}
}