Я получаю эту странную ошибку, не знаю почему, я сократил код до минимума и нашел источник проблемы, но я не понимаю, почему он дает ошибку.
Main.as
package {
import flash.display.MovieClip;
public class main extends MovieClip{
public function main(){
var player1 = new playerTest( 100 , 275 );
addChild( player1 );
}
}
}
Player.as
package {
import flash.display.MovieClip;
import flash.events.KeyboardEvent;
public class playerTest extends MovieClip{
public function playerTest(xCoord:int, yCoord:int){
x = xCoord;
y = yCoord;
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownEvent);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpEvent);
}
private function keyDownEvent(e:KeyboardEvent):void{
//
}
private function keyUpEvent(e:KeyboardEvent):void{
//
}
}
}
Если я закомментирую одного из прослушивателей KeyboardEvent, он будет работать нормально, но просто если он там есть, это приводит к ошибке и возвращает
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at playerTest()
at main()
Это начало происходить только после того, как я преобразовал свой код, чтобы заставить моего персонажа порождаться через код, а не просто бросать его на сцену, когда это было так до того, как он работал совершенно нормально.