我是 ActionScript 开发的新手,正在使用 FlashDevelop IDE。我一直在玩一些非常简单的事情,并且遇到了一个我似乎无法解决的问题。
我的应用程序编译并运行,一个监视单击事件的函数完美触发,当我将它传递给 trace() 时,我可以在控制台中看到该事件,但是监视 KeyboardEvent 的相同代码根本无法触发。
这是我的代码:
package GameTesting
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
[Frame(factoryClass="GameTesting.Preloader")]
public class Main extends Sprite
{
public function Main():void
{
if (stage) {
init();
} else {
addEventListener(Event.ADDED_TO_STAGE, init);
}
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE,init);
addEventListener(MouseEvent.CLICK, onClickEvent);
addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownEvent);
}
private function onKeyDownEvent(e:KeyboardEvent):void
{
trace(e);
}
private function onClickEvent(e:MouseEvent):void
{
trace(e);
}
}
}
MouseEvent trace() 每次都按预期触发,但 KeyboardEvent 永远不会触发,无论我按什么键。有任何想法吗?