Phaser HTML5 具有特定分数的背景变化
Phaser HTML5 Background change with specific score
我正在尝试在玩家达到 50 分或任何数字后更改移相器游戏的背景,背面是 png。这可能吗?
这是我的代码:
this.backgroundGame = this.game.add.tileSprite(0, 0, 800, 600, 'background');
if (this.score == 3)
this.backgroundGame = this.game.add.tileSprite(0, 0, 800, 600, 'background1');
但这肯定根本不起作用,如果我在更新函数中包含 if,它会带来 background1 并覆盖整个游戏,如果我在创建函数中包含它,它就会被忽略。有什么建议吗?对不起,我是新手,还在学习。另外英语不是我的第一语言,所以如果我的问题不清楚,请告诉我,谢谢。
在创建方法中,您必须设置两个(或多个)背景。正如在 Phaser 层中一样 CSS,原始背景(第一个)必须是创建中的最后一个:
--- 创建:
this.background2 = this.game.add.tileSprite(0, 0, 800, 600, 'background1');
this.backgroundOriginal = this.game.add.tileSprite(0, 0, 800, 600, 'background');
然后在update中,当你的条件为真时,你必须将alpha = 0(不可见)设置为原始背景,并且后面的层将可见。
--- 更新:
if(this.score == 3) {
this.backgroundOriginal.alpha = 0;
}
PD.:我的英语也不够好...... pero supongo que el inglés españolizado si lo entiendes bien,不拉法? ;)
您可以在 preload() 方法中加载您需要的所有背景。
this.game.load.image('background', 'images/bg1.png');
this.game.load.image('background2', 'images/bg2.png');
稍后在游戏中添加一个像背景一样的精灵:
this.backgroundSprite = this.game.add.tileSprite(0, 0, 800, 600, 'background');
this.backgroundSprite = this.game.add.sprite(0, 0,'background');
什么时候合适:
if (this.score == 3)
this.backgroundSprite.loadTexture('background1');
当你不总是向游戏词添加新对象时,你会有更好的表现。
我正在尝试在玩家达到 50 分或任何数字后更改移相器游戏的背景,背面是 png。这可能吗?
这是我的代码:
this.backgroundGame = this.game.add.tileSprite(0, 0, 800, 600, 'background');
if (this.score == 3)
this.backgroundGame = this.game.add.tileSprite(0, 0, 800, 600, 'background1');
但这肯定根本不起作用,如果我在更新函数中包含 if,它会带来 background1 并覆盖整个游戏,如果我在创建函数中包含它,它就会被忽略。有什么建议吗?对不起,我是新手,还在学习。另外英语不是我的第一语言,所以如果我的问题不清楚,请告诉我,谢谢。
在创建方法中,您必须设置两个(或多个)背景。正如在 Phaser 层中一样 CSS,原始背景(第一个)必须是创建中的最后一个:
--- 创建:
this.background2 = this.game.add.tileSprite(0, 0, 800, 600, 'background1');
this.backgroundOriginal = this.game.add.tileSprite(0, 0, 800, 600, 'background');
然后在update中,当你的条件为真时,你必须将alpha = 0(不可见)设置为原始背景,并且后面的层将可见。
--- 更新:
if(this.score == 3) {
this.backgroundOriginal.alpha = 0;
}
PD.:我的英语也不够好...... pero supongo que el inglés españolizado si lo entiendes bien,不拉法? ;)
您可以在 preload() 方法中加载您需要的所有背景。
this.game.load.image('background', 'images/bg1.png');
this.game.load.image('background2', 'images/bg2.png');
稍后在游戏中添加一个像背景一样的精灵:
this.backgroundSprite = this.game.add.tileSprite(0, 0, 800, 600, 'background');
this.backgroundSprite = this.game.add.sprite(0, 0,'background');
什么时候合适:
if (this.score == 3)
this.backgroundSprite.loadTexture('background1');
当你不总是向游戏词添加新对象时,你会有更好的表现。