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

在素材包的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();//添加一个新的吃货
}

入门9 如何切换白天、黑夜场景_第1张图片
切换场景.gif

本节教程源码下载地址:
码云
github
入门9 如何切换白天、黑夜场景_第2张图片
宣传二维码图片.png

你可能感兴趣的:(入门9 如何切换白天、黑夜场景)