2013-03-17 160 views
1

目前,我現在有一個遊戲,繪製小行星和背景,成績等,一旦船擊中小行星需要用戶到GAMEOVER屏幕,當他們點擊播放再次按鈕,我想遊戲重置,而不是從剛剛撞上小行星時開始。復位HTML5畫布遊戲

function playGame() { 
clearCtxMenu(); 
clearCtxGameOver(); 
drawBg(); 
startLoop(); 
score = 0; 
document.addEventListener('keydown',checkKeyDown,false); 
document.addEventListener('keyup',checkKeyUp,false); 
} 

這會將所有內容加載到遊戲中並清除菜單/遊戲轉移屏幕中的圖像。

function gameOver() { 
stopLoop(); 
drawPlayAgain(); 
drawMenu(); 
ctxGameOver.fillText("Score: " + score, 320, 160); 
ctxGameOver.fillText("Highscore: " + highScore, 300, 180); 
} 

遊戲結束函數調用何時命中小行星。

我有它設置,一旦您再次點擊播放按鈕,它調用了玩笑功能,但我想它從頭開始,而不是它剛剛完成。

回答

0

對於問題後任何人衛生組織,我剛清空陣列,例如arrayName中= [];

0

更清楚一點(因爲我還不能發表評論):

在位於這裏的W3C學校遊戲教程(http://www.w3schools.com/graphics/game_intro.asp),我有一個關於如何將遊戲重置一個問題頁面應用程序,並發現這個問題以上答案是正確的,但對我來說我不明白它不夠好,有一點的「嗯哼」的時刻。

所以,用一個例子它可能會幫助別人理解其中的修復。看看下面的代碼:

var myGamePiece; 
var myObstacles = []; 
var myScore; 

function startGame() { 
    myGamePiece = new component(30, 30, "red", 10, 120); 
    myGamePiece.gravity = 0.05; 
    myScore = new component("30px", "Consolas", "black", 280, 40, "text"); 
    myGameArea.start(); 
} 

這行「var myObstacles = [];」持有的障礙物的位置,如果是復位遊戲將不得不結交新朋友。從而「重置」遊戲。其餘的由本教程中的代碼處理。

希望這可以幫助別人。