我正在製作遊戲,如果敵人的子彈擊中用戶,子彈消失。一切工作正常,除非我繼續收到'錯誤#1009:一旦子彈擊中用戶(子彈消失,但不能訪問空對象引用的屬性或方法)「。它讓我感到困惑,因爲我已經在另一個類中使用了幾乎完全相同的代碼,並且它完美地工作。AS3 - 錯誤#1009:無法訪問空對象引用的屬性或方法
package classes.enemy
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.display.Stage;
import classes.Main;
public class Bullet extends MovieClip
{
var speed:Number;
public function initialize()
{
var stageReff:Stage = this.stage as Stage;
stage.addEventListener("enterFrame", enterFrame);
}
//code
function enterFrame(e:Event):void
{
this.x += speed;
if(this.hitTestObject(Main.user))
{
removeEventListener("enterFrame", enterFrame);
this.parent.removeChild(this);
// line above gives the error.
}
}
}
}
我不知道什麼可能是錯的。 在此先感謝。
在調試模式下運行,找到引發錯誤的行。它可能在'this.parent.removeChild(this)',但我可能是錯的。如果是這樣的話,那麼'this'不再是父母的孩子。 – ToddBFisher 2012-01-02 21:54:13
這是行:this.parent.removeChild(this);.如果我將它註釋掉,它可以正常工作(但是子彈不會消失)。 – 2012-01-02 21:58:06