在Phaser中创造高分

时间:2016-05-24 08:59:37

标签: javascript xml local-storage phaser-framework

这是我第一次通过我编写的教程创建游戏,所以我是一个全新的,但我很想学习。

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

//然后这个部分你想要计算的次数太多了,你想要把它放在杀戮兔子函数中,或者当它们存活时你在哪里数点。

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

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

答案 1 :(得分:0)

为什么需要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"});
相关问题