我有一个巨大的动画循环来控制视频游戏的程序。我有这个if语句,它会被执行多次,因为只要它是真的,它就会因为循环而继续执行。我需要这个语句才能执行一次。我知道解决问题的一种方法是将整数变量作为计数器,但我想知道是否还有其他方法可以解决这个问题。
答案 0 :(得分:3)
你说只要它 是,就会继续执行。如果您不希望此if
语句再次执行,请将 it false
,如果您不能这样做,请设置某种{{1国旗。
答案 1 :(得分:0)
您可以使用continue。在伪代码中
set flag = false
for(var1 == var2)
...//do whatever you do in loop
if(flag)
continue
if(var3 == var4)
set flag = true
...//do whatever in if statment
end for loop
替代地
set flag = false
for(var1 == var2)
...//do whatever you do in loop
if(var3 == var4 AND !flag)
set flag = true
...//do whatever in if statment
end for loop
答案 2 :(得分:0)
这是因为它是一个昂贵的if声明吗?您可以尝试添加短路逻辑:
for(...)
{
if(flag == false && ...)
{
flag = true;
}
}
如果你担心做比较的表现......你可以把它分成两个循环。一个用于条件为假,第二个用于条件为真。
我认为某些编译器优化可能已经解决了这个问题。
答案 3 :(得分:0)
使if语句检查特定的数字,如
for(i=0;i<10000;i++) {
if(i==345) {
// do something...
}
}