我正在制作游戏,如果敌人的子弹击中用户,子弹消失。一切工作正常,除非我继续收到'错误#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