Это было то, что заставляло меня биться в течение 2 часов, прежде чем я понял это.
Я решил опубликовать это здесь, чтобы помочь другим не вырывать волосы:).
По сутиошибка была в том, что я не получал событие клавиатуры из моей среды Flash Builder (та же ошибка / проблема видна с Adobe Flash CS5).Я установил stage.focus = stage, не помогло.Я добавил других слушателей событий (mouse_down, frame_enter), которые работали нормально, я добавил детей MovieClip и прослушивал события этих детей, но проблема остается той же.
package
{
public class Test extends Sprite
{
public function Test()
{
this.addEventListener(Event.ADDED_TO_STAGE,init);
}
public function init(stage:Stage):void
{
this.removeEventListener(Event.ADDED_TO_STAGE,init);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
}
private function keyPressed(e:KeyboardEvent):void
{
trace("keyPressed");
}
private function keyReleased(e:KeyboardEvent):void
{
trace("keyReleased");
}
}
}