2014-12-23 108 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