【问题标题】:Create a High Score in Phaser在 Phaser 中创建高分
【发布时间】:2017-11-24 17:34:46
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript xml local-storage phaser-framework


    【解决方案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 工作高分

    【讨论】:

    • 大家好,我有一个容器,其中包含各种内容,如文本、矩形,基本上它是一个模态。此模式在游戏开始之前创建并隐藏。在游戏结束时,我无法更新模态得分值,但是我在控制台中注销了 container.list 数组的内容,并且在那里更新了值。有什么解决办法?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2018-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-18
      • 2016-08-24
      • 1970-01-01
      • 2016-03-16
      • 1970-01-01
      相关资源
      最近更新 更多