gpt4 book ai didi

actionscript-3 - ActionScript 3 中的数组拼接问题

转载 作者:行者123 更新时间:2023-12-02 05:06:30 24 4
gpt4 key购买 nike

for each(var e:Enemy in enemies)
{
if(e.getHealth() == 0)
{
enemies.splice(e,1);
}
}

只要 enemies[0] 首先被杀死,这段代码就可以正常工作。如果 enemies[1] 首先被杀死,它会拼接两者。我怎样才能改变这一点,以便只有生命值达到 0 的特定敌人被拼接?

最佳答案

最好的方法是在向后遍历时进行拼接。布伦特有一个好主意,但如果两个相邻的敌人需要从数组中拼接出来,它可能会失败,因为那些在前面的敌人的索引向左移动,因此,当计数器递增时,一个紧挨着那个的元素被拼接错过了。

for (var i:int=enemies.length-1; i >=0 ; i--)
{
if(enemies[i].getHealth() == 0)
{
enemies.splice(i,1);
}
}

使用 for each 也是可能的,尽管行为可能不同。

for each(var e:Enemy in enemies)
{
if(e.getHealth() == 0)
{
enemies.splice(enemies.indexOf(e),1); // splice() wants an index
}
}

关于actionscript-3 - ActionScript 3 中的数组拼接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16219059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com