Проблема, с которой я встретился, состоит в том, что я использую keyboardEventListener для создания фрагмента ролика обтекаемым. Поскольку я - студент колледжа, я создаю это для присвоения, но мы вынуждены использовать as3 классы.
Когда я выполняю код в maintimeline, нет никакой проблемы. Но когда я пытаюсь получить доступ к нему от другого класса (с 'Экспортом для ActionScript', на рассматриваемом фрагменте ролика) я получаю ошибку, он не может обратиться к этапу.
this.stage.addEventListener (KeyboardEvent. KEY_DOWN, dostuff);
Класс в AS3 не отображается на сцене, пока вы не поместите его туда. В результате во время компиляции this.stage будет иметь значение NULL. Вы можете обойти эту проблему, используя событие ADDED_TO_STAGE, чтобы отложить привязку ваших слушателей до подходящего времени.
public function MyClass(){
this.addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
}
private function addedToStageHandler(e:Event):void{
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, dostuff);
}
"1120: Доступ к неопределенному свойству Keyboard. {{1} } Вот ваш ответ. Вы не определили свойства клавиатуры. Это означает, что вы не импортировали в пакет.
должно выглядеть примерно так:
import flash.display.*;
import flash.events.*;
import flash.ui.*;
Совет: более подробно изучите импорт . попробуйте использовать flash Builder, он намного лучше для начинающих, и классы автоматического импорта, поэтому вам не нужно все запоминать.