嗯,技术上不是所有的布尔人。我有一个数组(ArrayMain),它将一个播放器和一堆其他的动画片段存储在一个数组中,我还有另一个布尔数组(这对应于ArrayMain,叫做ArrayDeadCheck)我需要检查。
我的播放器是数组中的第一个,因此它占用ArrayMain [0]并且在ArrayDeadCheck中将始终为false(它永远不会死)。我需要遍历ArrayDeadCheck的其余部分(这可能会有所不同,因为我的敌人数量从一个级别到另一个级别可能会发生变化,因此ArrayMain的长度可能会有所不同)。所以我需要做这样的事情?:
for (var i:int=1; i < ArrayMain.length; i++)
{
//Code/condition?? that does this:
//if all of the Booleans in ArrayMain from 1 to n are true
if (Insert condition here)
{
//trigger another Boolean called EndGame to end the game
EndGame = true;
}
}
很抱歉,如果这是一个重复的问题(我看到了一个类似的问题,但那是在Java中,请转换AS3?)或者如果它的格式很奇怪,那么这是我的第一个问题。请帮忙!!非常感谢你,如果有人能够提供帮助的话:)。
答案 0 :(得分:2)
如果您要做的就是检查数组中是否有false
,您可以在表单中使用indexOf
函数:
if(ArrayMain.indexOf(false) == -1)
{
//all true
}
else
{
//there is at least on false values
}
这就是全部:)
P.S。 ArrayMain是变量名称的不良选择,它适合类名
答案 1 :(得分:0)
var alive:bool = true;
for (var i:int=1; i < ArrayMain.length; i++)
{
if ( ArrayDeadCheck[i] )
continue; // the loop will skip over the rest of the code to the next position
alive = false;
break; // stops the loop
}
if (alive) // this means all elements in the array were true.
// do whatever is needed.
基本上这段代码只是在求助(alive
)处变量,在循环结束时检查一个布尔值。
将检查所有数组元素,只要其中一个元素不为真,数组就会被破坏。
- 您可能需要稍微修改一下代码。我以前从未在Acgtionscript中编码。
Go to this site,然后向下滚动到“中断并继续”