入门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();//添加一个新的吃货
}

切换场景.gif

本节教程源码下载地址:
码云
github

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容