Обработка событий для ударов по клавиатуре

Я пытаюсь ознакомиться со всем механизмом обнаружения событий клавиатуры.

Вот мой пример кода.

<fx:Script>
    <![CDATA[

        import flash.events.KeyboardEvent;
        import mx.controls.Alert;

        private function init():void{
            addEventListener(KeyboardEvent.KEY_DOWN,reportKeyDown);   
        }

        private function reportKeyDown(event:KeyboardEvent):void {
            Alert.show("a key was pressed");
        }

    ]]>
</fx:Script>

As you can see, I'm at stage 0 of playing around with it, but it won't work. Anyone has any idea what I should be doing instead?

Спасибо


person david    schedule 13.04.2010    source источник


Ответы (1)


Попробуй это:

stage.addEventListener(KeyboardEvent.KEY_DOWN,reportKeyDown);
person Jorge Guberte    schedule 13.04.2010
comment
stage выдает ошибку, потому что в этот момент он все еще равен нулю. Я должен сначала прослушать сценическое событие, а затем прослушать это событие. Интересно, есть ли лучший способ. - person david; 14.04.2010
comment
Он прав. Просто вызовите свой init в addToStage, а не в createComplete. В addToStage вы уверены, что установлено свойство stage. ХТН. - person keyle; 14.04.2010