这两个for循环,我将使用1来获得积分,1来删除生命,导致AS3错误#1010,“一个术语未定义且没有属性”但是我在构造函数中定义了两个数组代码并在for循环中定义for循环变量。 尽管做了主函数之后的事情,它也没有进入第二个for循环。有什么帮助吗?
for (var iPlus = 0; iPlus <= objectArrayPlus.length; iPlus++)
{
if (objectArrayPlus[iPlus].y >= 400)
{
removeChild(objectArrayPlus[iPlus]);
objectArrayPlus.splice(iPlus, 1);
}
else if (gameBoat.hitTestObject(objectArrayPlus[iPlus]))
{
trace("this will score");
}
}
for (var iMinus:int = 0; iMinus <= objectArrayMinus.length; iMinus++)
{
trace ("for loop entered");
if (objectArrayMinus[iMinus].y >= 150)
{
removeChild(objectArrayMinus[iMinus]);
objectArrayMinus.splice(iMinus, 1);
}
}
答案 0 :(得分:1)
在<
循环中尝试<=
而不是for
:
for (var iPlus:int = 0; iPlus < objectArrayPlus.length; iPlus++) {
...
}
for (var iMinus:int = 0; iMinus < objectArrayMinus.length; iMinus++) {
...
}
答案 1 :(得分:0)
至少可能导致跳过第二个循环的原因是一个或两个数组都是空的。我不知道因为我不知道之前那些数组发生了什么,但是如果它们在那些数组中没有任何术语那么这可能是问题的一部分。同样,如果您可以显示定义和添加这些变量/列表的位置,那么获得更多细节会很有用,可能会提供更多帮助。