2016-01-11 67 views
0

所以基本上我得到了一小段代碼來檢查遊戲的結束,當你殺死所有的敵人和GameOver時,它應該顯示勝利。事情是,用這段代碼,「勝利」號發生,但被擊敗時,他並沒有表現出任何東西(調試器顯示的字符串是正確的壽)Canvas not creating text

playing=false; 
gameOver=true; 

var resultText="You Lost!"; 

if(enemies.length==0){ 
    Debugger.log("VICTORY!"); 
    resultText="VICTORY!"; 
} 

context.font = "70px Comic Sans MS"; 
context.fillStyle = grd; 
context.textAlign = "center"; 
Debugger.log("ResultText: "+ resultText); 
context.fillText(resultText, canvas.width/2, canvas.height/2); 
+0

我的grd工作得很好,正如我所說,他甚至在filltext中展示了「勝利」部分,這只是他不寫的「你輸了」。 //創建梯度 grd = context.createLinearGradient(0,384,1024,384); grd.addColorStop(0,「#00CED1」); (0.5,「yellow」) grd.addColorStop(1,「red」); – Akorna

回答

1

您所提供的代碼似乎是正確的。做變量的聲明看起來像這樣。這是我添加到它的工作。

var cxt = document.getElementById('canvasMain'); 
var context = cxt.getContext('2d') 
var grd = "blue"; 
var enemies = ["schoolBully", "busDriver"]; 

而且您是否測試過以確保長度實際上是0?

+0

是正確的填補空白,所以基本上,如果沒有更多的敵人(調試人員也顯示我有0敵人,它顯示文本勝利,所以一切正常,但失敗表明,陣列中仍然存在敵人,他還返回了「失去的結果文本!」,但由於某種奇怪的原因,它並沒有做最後一行。 – Akorna