Так у меня есть это довольно основной код в моем классе документа:Несколько ошибок «Доступ неопределенного свойства»
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.*;
import flash.events.MouseEvent;
import flash.display.Stage;
import flash.display.MovieClip;
public class Main extends Sprite
{
//Properties
public var circle:Circle;
public var vx:Number;
public var vy:Number;
addEventListener(KeyboardEvent.KEY_DOWN, onKeyboardDown);
addEventListener(KeyboardEvent.KEY_UP, onKeyboardUp);
addEventListener(Event.ENTER_FRAME, onEnter);
public function addedToStageHandler(event:Event):void
{
}
public function Main()
{
super();
init();
}
public function init():void
{
vx = 0;
vy = 0;
circle = new Circle(35, 0x0066FF);
stage.addChild(circle);
circle.x = 50;
circle.y = 50;
}
public function onKeyboardDown(event:KeyboardEvent):void
{
switch(event.keyCode)
{
case Keyboard.LEFT:
vx = -5;
break;
case Keyboard.RIGHT:
vx = 5;
break;
case Keyboard.UP:
vy = -5;
break;
case Keyboard.DOWN:
vy = 5;
break;
}
}
public function onKeyboardUp(event:KeyboardEvent):void
{
switch(event.keyCode)
{
case Keyboard.LEFT:
vx = 0;
break;
case Keyboard.RIGHT:
vx = 0;
break;
case Keyboard.UP:
vy = 0;
break;
case Keyboard.DOWN:
vy = 0;
break;
}
}
public function onEnter(event:Event):void
{
circle.x += vx;
circle.y += vy;
}
}
}
Проблема заключается в том, что я продолжаю получать ошибки, которые начинающий не делают никакого смысла:
«Вызовите, возможно, неопределенный метод addEventListener». x 3 «Доступ к неопределенному свойству onEnter». «Доступ к неопределенному свойству onKeyboardUp.» «Доступ к неопределенному свойству onKeyboardDown».
Я действительно не понимаю эту проблему. Как AS3 не распознает addEventListener? Кроме того, у меня получилось, что мои слушатели событий были добавлены на сцену «stage.addEventListener», и он тоже не узнал сцену. Может кто-нибудь подтолкнуть меня в правильном направлении с этой проблемой? Благодаря!
Ваши слушатели событий должны быть добавлены ПОСЛЕ того, как класс был добавлен на сцену. У вас нет доступа к событиям сцены, если класс не добавлен в список отображения. В этом случае основной класс должен быть задан как класс документа. Вам нужно что-то в строках this.addEventListener (EVENT.AddedToStage, addedToStage). –
Хорошо, я вроде как понял. Но какой код мне следует написать для параметра «addedToStage»? –