Actionscript 3 Flash-RemoveChild操作脚本3不工作删除
我做了一个基于收集星星的游戏。我遇到了一个问题,在与4颗星会面时,4颗星希望共享传递到下一帧,并删除了所有尝试的帧Actionscript 3 Flash-RemoveChild操作脚本3不工作删除,actionscript-3,flash,Actionscript 3,Flash,我做了一个基于收集星星的游戏。我遇到了一个问题,在与4颗星会面时,4颗星希望共享传递到下一帧,并删除了所有尝试的帧removeChild(),但弹出一条消息: TypeError:错误#1009:无法访问空对象引用的属性或方法 您正在尝试操作一个不存在的对象的属性。我应该怎么做才能使代码正常工作?如果您多次使用“removeChild(b)”,则可能会触发多次。找出这一部分来检查它被删除了多少次。我认为你的问题来自这一行:if(jazda.hitTestObject(b))因为在进入第15帧后,
removeChild()
,但弹出一条消息:
TypeError:错误#1009:无法访问空对象引用的属性或方法
您正在尝试操作一个不存在的对象的属性。我应该怎么做才能使代码正常工作?如果您多次使用“removeChild(b)”,则可能会触发多次。找出这一部分来检查它被删除了多少次。我认为你的问题来自这一行:
if(jazda.hitTestObject(b))
因为在进入第15帧后,jazda
对象不存在,你得到了错误,也别忘了清除你的intervalPunkty
间隔。。。
health_txt.text=health.toString()
score_txt.text=score.toString();
var health=20;
var score=0;
var intervalPunkty = setInterval(addGwiazda,1000);
function addGwiazda()
{
var gwiazda:Gwiazda = new Gwiazda();
gwiazda.x = Math.ceil(Math.random() * 550);
gwiazda.y = -50;
addChild(gwiazda);
gwiazda.addEventListener(Event.ENTER_FRAME, dropGwiazda);
function dropGwiazda(e:Event)
{
var b:Gwiazda = Gwiazda(e.target);
b.y += 10;
if(b.y > 400)
{
b.removeEventListener(Event.ENTER_FRAME, dropGwiazda);
removeChild(b);
}
if(jazda.hitTestObject(b))
{
score ++;
score_txt.text = score.toString();
b.removeEventListener(Event.ENTER_FRAME, dropGwiazda);
removeChild(b);
if (score == 4){
gotoAndStop(15);
removeChild(b);
}
}
}
}
stop();
score_txt.text=score.toString();
var health=20;
var score=0;
var intervalPunkty = setInterval(addGwiazda,1000);
function addGwiazda()
{
var gwiazda:Gwiazda = new Gwiazda();
gwiazda.x = Math.ceil(Math.random() * 550);
gwiazda.y = -50;
addChild(gwiazda);
gwiazda.addEventListener(Event.ENTER_FRAME, dropGwiazda);
function dropGwiazda(e:Event)
{
var b:Gwiazda = Gwiazda(e.target);
b.y += 10;
if(b.y > 400)
{
b.removeEventListener(Event.ENTER_FRAME, dropGwiazda);
if(contains(b))
{
removeChild(b);
}
}
if(jazda.hitTestObject(b))
{
score ++;
score_txt.text = score.toString();
b.removeEventListener(Event.ENTER_FRAME, dropGwiazda);
if(contains(b))
{
removeChild(b);
}
if (score == 4){
gotoAndStop(15);
}
}
}
}
stop();`enter code here`