在 Phaser 中创造高分

Create a High Score in Phaser

这是我第一次通过我编写的教程创建游戏,所以我在这方面完全陌生,但我渴望学习。

我有这个游戏 "Bunny Defender" 并且想创建一个简单的高分,我可以使用 XML 将其存储在某种本地存储中并在屏幕上显示高分结果游戏结束了。

我不知道该怎么做以及从哪里开始。如果有人能指出正确的方向以及如何管理它,我将不胜感激?

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

为什么需要 XML? Stuff 以键值对的形式存储在 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"});
var score =0;
var highscore =0;
var highScoreText;
var scoreText;

///////////////////////////////////下create put

 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);
        }
    }

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

//然后这部分你想要计算的地方很可能你想把它放在杀死兔子的函数中或者你计算它们存活时的点数的地方。

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

/////////////////////////和 BOOOOOOOOM 工作 high-score