我得到這個奇怪的錯誤,不知道爲什麼,我已經減少了代碼到最低限度,並找到問題的根源,但我不明白爲什麼它的錯誤。KeyboardEvent引發TypeError的監聽器?
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()
這隻已經開始,因爲我將我的代碼,使我的甜心發生可以通過代碼生成,而不是隻是把它扔到舞臺上,當它像它之前,它完全正常工作。
你確定舞臺不是零?檢查這個http://www.redcodelabs.com/2009/07/flex-null-stage/也許你應該使用this.systemManager.stage來代替。 – 2012-02-08 08:19:09