2015-12-02 54 views
0

我試圖改變經典遊戲鴨亨特3個級別的背景顏色。我得到了原始的源代碼形式git hub(https://github.com/MattSurabian/DuckHunt-JS),現在有3個級別,並希望水平改變背景顏色,從白天到夜晚,但不是我確定在JS腳本中調整代碼,以便每個級別有不同的地方背景色?更改背景顏色每級(js遊戲)

我發現這一點,設置背景顏色爲每個級別:

// ensure background color is set correctly 
this.playfield.animate({ 
    backgroundColor: '#64b0ff' 
}, 900); 

this.curWave++; 
if (this.curWave > this.level.waves) { 
    this.hideLevelInfo(); 
    this.playfield.trigger('game:next_level'); 
    return; 
} 

,但不知道如何設置它,以便一級具有顏色#000平2 #FFF等

回答

0

你可以換它在case語句中,使用該級別作爲表達式值。

var level = 0; //place outside the function in the global scope or if you want to namespace it, you can place the variable in a getter/setter and update the level whenever you call the setter. 


level++; 
switch(level) { 
    case 1: 
     this.playfield.animate({ 
      backgroundColor: '#565656' 
     },900); 
     break; 
    case 2: 
     this.playfield.animate({ 
      backgroundColor: '#000' 
     },900); 
     break; 
    case 3: 
     this.playfield.animate({ 
      backgroundColor: '#fff' 
     },900); 
     break; 
    default: 
     this.playfield.animate({ 
     backgroundColor: '#64b0ff' 
     },900); 
    break; 
} 

您只需確保調用每個級別更改的函數併爲該級別設置一個計數器。級別增加時,將計數器加1並將其用作語句中的級別值。

+0

嗨,對不起,我已經添加了代碼,但是遊戲並沒有進入第1級......? – Dave

+0

確保您包含一個每次遊戲進入下一個級別都會增加的計數器。將水平變量移動到全局名稱空間中,並將計數器放在開關之前,以便當遊戲調用背景顏色更改功能時,它首先增加。看我修改的例子。 – Korgrue

+0

嗨,我似乎還不能通過案例1?我知道這是有效的,因爲我嘗試了不同的顏色背景......它似乎一遍又一遍地重複這種情況? – Dave