2014-12-23 62 views
0

在我的代码我有几个在主时间轴循环看起来像这样简单For循环不工作在CS6上?

for (i = 0; i<2*speedY; i++) 
    { 
code 
} 

我做这个确切语法很多次,没有出现过问题,但是当我这样做是它给了我错误,我是未定义的。然后,我尝试了与var i:int相同的循环:但现在它只是给了我一个命名空间错误。我在这里做错了什么?

回答

1

如果你只需要在循环本身的变量i,不需要超出环路范围的变量,你也可以在回路参数中声明它:

for(var i:int = 0; i < 5; i++) { 
      trace(i); 
} 

在性能方面它是一线之差,但它通常是一个很好的做法,只有在他们将要使用的范围内声明的变量。

2

要避免出现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); 
} 
+0

那么这是正确的答案,虽然我再次测试它,它的工作原理(没有定义我)这是奇怪的,但无论如何感谢。 - 2小时前提醒 – Trows