2015-03-18 184 views
-7

以下代碼中的for循環似乎未被激活。未循環遍歷循環 - javascript

var updateMobs = function(){ 
    for (var b = 0; b < mobsBlue; b++){ 
     BM = mobsBlue[b] 
     BM.x = BM.x - 1 

     doCollision(BM, redBase, BM) 
     doCollision(BM, debugPlayer, BM) 
     console.log("draw1") 
     BM.Draw(ctx, false) 
    } 
    for (var r = 0; r < mobsRed; r++){ 
     RM = mobsRed[r] 
     RM.x = RM.x + 1 

     doCollision(RM, blueBase, RM) 
     doCollision(RM, debugPlayer, RM) 
     console.log("draw2") 
     RM.Draw(ctx, false) 
     for (var bb = 0; bb < mobsBlue; bb++){ 
      BM = mobsBlue[bb] 
      console.log("draw3") 
      BM.Draw(ctx, false) 
      RM.Draw(ctx, false) 
     } 

    } 

} 

還,隨意評論任何改進,我可以做我的代碼,使這項工作更好,如果您有任何。我也知道我沒有在我的javascript結束半冒號所以不要評論我這句話

我沒有得到任何錯誤,mobsBlue和mobsRed都陣列。

此外,我呼籲在一個循環中此功能。

我侮辱抱歉。這是不必要的,我應該提出這個問題:|。感謝您幫助我走出雖然

誠摯的歉意

+0

這是一個功能。你必須打電話給它。 – njzk2 2015-03-18 22:39:39

+1

也是,'b njzk2 2015-03-18 22:40:27

+0

讀取編輯問題 – user4687490 2015-03-18 22:41:23

回答

4

由於這是一個功能,確保與updateMobs();調用它。

我相信mobsBluemobsRed是數組(因爲你叫mobsBlue[b],你編入索引),所以你for循環,要循環for (var b = 0; b < mobsBlue.length; b++){

這樣:

var arr = [1, 2, 3, 4] 
 
for(var i = 0;i < arr.length;i++){ 
 
    item = arr[i] 
 
    alert(item) 
 
}

這是您的編輯代碼:

var updateMobs = function(){ 
    for (var b = 0; b < mobsBlue.length; b++){ 
     BM = mobsBlue[b] 
     BM.x = BM.x - 1 

     doCollision(BM, redBase, BM) 
     doCollision(BM, debugPlayer, BM) 
     console.log("draw1") 
     BM.Draw(ctx, false) 
    } 
    for (var r = 0; r < mobsRed.length; r++){ 
     RM = mobsRed[r] 
     RM.x = RM.x + 1 

     doCollision(RM, blueBase, RM) 
     doCollision(RM, debugPlayer, RM) 
     console.log("draw2") 
     RM.Draw(ctx, false) 
     for (var bb = 0; bb < mobsBlue.length; bb++){ 
      BM = mobsBlue[bb] 
      console.log("draw3") 
      BM.Draw(ctx, false) 
      RM.Draw(ctx, false) 
     } 

    } 

} 
+0

你錯過了一個。 – njzk2 2015-03-18 22:44:39

+0

@ njzk2感謝兄弟:) – 2015-03-18 22:46:59

+0

downvoter,爲什麼downvote? – 2015-03-18 22:47:05

1

#1打電話給無法理解這個簡單代碼的人'智力低下'是非常冒犯的。

#2你是否在其他代碼中的某處調用updateMobs函數?

#3我假設mobsBlue就像njzk2數組說,也許你的意思是得到它的長度?使用:

for (var b = 0; b < mobsBlue.length; b++) 

相同的mobsred。

+0

我確實道歉。對不起。 – user4687490 2015-03-18 23:22:26

+0

^^有時編碼有時我們都會感到沮喪:D – Sebastian 2015-03-19 01:45:47