спасибо за просмотр моего поста.Перейдите к проблеме: у меня есть 2 мувиклипа с именем "thebugboss" и "spiderboss" в библиотеке, все они связаны с их классом.Я перетаскиваю его на сцену и называю «bugboss» и «spiderbossit».Я подталкиваю их к массиву боссов тоже.Когда я убиваю босса, у него есть какое-то выходное сообщение 2025, но мой код все еще работает.Но я волнуюсь, потому что мой код теперь не совсем чистый, и я думаю, что это может быть ошибкой каждый раз.Это мой код:
var currentboss:Number=0;
stage.addEventListener(Event.ENTER_FRAME, defeatboss);
function defeatboss(e:Event):void
{
for (var kb:int=0; kb<bossArray.length; kb++)
{
var bosshientai=bossArray[kb];
if (bosshientai.hp<=0)
{
if (currentboss==0)
{
addReward(bosshientai.x ,bosshientai.y ,3);
addReward(bosshientai.x-10 ,bosshientai.y ,3);
addReward(bosshientai.x-20 ,bosshientai.y ,3);
addReward(bosshientai.x-30 ,bosshientai.y ,3);
removeChild(bosshientai);
bossArray.splice(kb, 1);
stage.removeEventListener(Event.ENTER_FRAME, bugbossLoop);
bugTimer.stop();
bugTimer2.stop();
bugTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, buggo);
bugTimer2.removeEventListener(TimerEvent.TIMER_COMPLETE, bugstop);
currentboss++;
}
if (currentboss==1)
{
addReward(bosshientai.x ,bosshientai.y ,3);
addReward(bosshientai.x-10 ,bosshientai.y ,3);
addReward(bosshientai.x-20 ,bosshientai.y ,3);
addReward(bosshientai.x-30 ,bosshientai.y ,3);
removeChild(bosshientai);
bossArray.splice(kb, 1);
stage.removeEventListener(Event.ENTER_FRAME, spiderLoop);
spiTimer.stop();
spiTimer2.stop();
spiTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, spigo);
spiTimer2.removeEventListener(TimerEvent.TIMER_COMPLETE, spistop);
currentboss++;
}
}
}
}
Вам просто нужно позаботиться об «removeChild».Это ошибка, как это:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild()
at Holyshitman_fla::MainTimeline/defeatboss()
Как решить эту проблему, плз, хотя мой код все еще работает.Если эта проблема слишком сложна, просто скажите мне, это влияет на мою игру.
Большое вам спасибо.И извините, потому что мой английский не очень хороший.