在我的代码我有几个在主时间轴循环看起来像这样简单For循环不工作在CS6上?
for (i = 0; i<2*speedY; i++)
{
code
}
我做这个确切语法很多次,没有出现过问题,但是当我这样做是它给了我错误,我是未定义的。然后,我尝试了与var i:int相同的循环:但现在它只是给了我一个命名空间错误。我在这里做错了什么?
在我的代码我有几个在主时间轴循环看起来像这样简单For循环不工作在CS6上?
for (i = 0; i<2*speedY; i++)
{
code
}
我做这个确切语法很多次,没有出现过问题,但是当我这样做是它给了我错误,我是未定义的。然后,我尝试了与var i:int相同的循环:但现在它只是给了我一个命名空间错误。我在这里做错了什么?
如果你只需要在循环本身的变量i
,不需要超出环路范围的变量,你也可以在回路参数中声明它:
for(var i:int = 0; i < 5; i++) {
trace(i);
}
在性能方面它是一线之差,但它通常是一个很好的做法,只有在他们将要使用的范围内声明的变量。
要避免出现undefined
错误,您必须定义变量i
,但也要避免出现namespace
错误,您应该这样做一次。所以,你可以是这样做的:
var i:int;
// 1st for loop
for(i = 0; i < 5; i++){
trace('1 : '+i);
}
// 2nd for loop
for(i = 5; i > 0; i--){
trace('2 : ' + i);
}
那么这是正确的答案,虽然我再次测试它,它的工作原理(没有定义我)这是奇怪的,但无论如何感谢。 - 2小时前提醒 – Trows