在素材包的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
网友评论