簡體   English   中英

在 Phaser 中創造高分

[英]Create a High Score in Phaser

這是我第一次通過我編寫的教程創建游戲,所以我是一個全新的人,但我渴望學習。

我有這個游戲“Bunny Defender”,想創建一個簡單的高分,我可以用 XML 將其存儲在某種本地存儲中,並在游戲結束時在屏幕上顯示高分結果。

我不知道該怎么做以及從哪里開始。 如果有人能指出我正確的方向以及如何管理,我會非常感激嗎?

// github上所有游戲文件https://github.com/eiffelqiu/bunny-defender

var score =0;
var highscore =0;
var highScoreText;
var scoreText;

//////////////////////////////////////下創建放

 highScoreText = this.game.add.text(600, 40, 'HS: ' + highscore, {
        font: '25px Arial',
        fill: 'black'
    });


this.score = 0;
    this.labelScore = game.add.text(20, 20, "0", 
    { font: "30px Arial", fill: "black" });

///////////////////////////////////////////////// ///////////// //然后在更新函數中

highScoreText.text = 'HS: ' + localStorage.getItem("highscore");
  {
     if (this.score > localStorage.getItem("highscore")) 
        { 
            localStorage.setItem("highscore", this.score);
        }
    }

/////////////////////////////////////////

//然后這部分你想要計算的地方很可能你想把它放在kill bunny函數中,或者你在它們存活時計算點數的地方。

this.score += 1;
this.labelScore.text = this.score;  

/////////////////////////和BOOOOOOOOM工作高分

為什么需要 XML? 東西作為鍵值對存儲在 localStorage 中,因此在一般情況下,這足以設置它:

var highScore = 100; // you would've set this earlier, of course
localStorage.setItem("bunnyDefenderHighScore", highScore); // game-specific key in case you later run another game on the same domain

...和這個 - 檢索它:

var highScoreToDisplay = 0;
if (localStorage.getItem("bunnyDefenderHighScore") !== null) {
    highScoreToDisplay = parseInt(localStorage.getItem("bunnyDefenderHighScore"));
}

然后,無論何時你想顯示它,做

var gameOverText = this.game.add.text(100, 100, highScoreToDisplay.toString(), {font: "20pt Arial", fill: "#FFFFFF"});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM