美文网首页Phaser.js
入门9 如何切换白天、黑夜场景

入门9 如何切换白天、黑夜场景

作者: 工匠前沿 | 来源:发表于2018-01-09 17:35 被阅读0次

    在素材包的bg文件夹里有两个背景图片,一个day表示白天,一个night表示黑夜。我们在得分每次超过20分的时候就从一个切换到另一个状态。
    先来添加三个变量。

    var changeBGScore = 0;//统计自从上次切换场景后又得了多少分
    var day;
    var night;
    

    相应的在start舞台上的preload里添加day背景那里修改成如下所示

    night = this.add.sprite(0, 0, 'night');
    night.visible = false;
    day = this.add.sprite(0, 0, 'day'); // 添加背景图片
    

    添加了一个黑夜背景,但是是隐藏的。接着修改碰撞处理方法。

    function collectMoon(player, moon) {
        playerTween.stop();
        if(moon.name === 'special') {
            score += 5;
            changeBGScore += 5;
        } else {
            score += 1;
            changeBGScore += 1;
        }
        if (changeBGScore >= 20) {//如果自从上次切换背景后得分又超过20分,再次切换
            changeBGScore = 0;
            if (day.visible === false) {
                day.visible = true;
                night.visible = false;
            } else {
                day.visible = false;
                night.visible = true;
            }
        }
        if(score > 0 && score % 10 === 0) {
            level += 1;
            resetSpeed();
        } 
        player.isFlying = false;
        moon.moving = false;
        bang.play();//播放吃到月饼的声音
        moon.kill();//销毁月饼
        player.kill();//销毁吃货
        updateScore();//更新得分
        addMoon(); //添加一个新的月饼
        addPlayer();//添加一个新的吃货
    }
    
    切换场景.gif
    本节教程源码下载地址:
    码云
    github

    相关文章

      网友评论

        本文标题:入门9 如何切换白天、黑夜场景

        本文链接:https://www.haomeiwen.com/subject/yadgnxtx.html