Я новичок в разработке ActionScript и использую IDE FlashDevelop. Я играл с некоторыми действительно упрощенными вещами и столкнулся с проблемой, которую не могу решить.
Мое приложение компилируется и запускается, и функция, которая отслеживает события нажатия, срабатывает отлично, и я вижу событие в консоли, когда передаю его в 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 никогда не срабатывает, независимо от того, какую клавишу я нажимаю. Есть идеи?