Firefox上的Phaser3静音

时间:2018-12-27 11:55:48

标签: firefox phaser-framework mute

我最近在Phaser3中遇到问题,正在寻找可以帮助我解决问题的人。

我使用按钮来控制静音或打开声音,它在Chrome浏览器中可以运行,但是在Firefox中无法正常工作:如果我将声音静音,则无法再次打开它。这是我的代码:

if (GameApp.Game.sound.mute) {
  this.m_volumeBtn.setFrame(this.m_volumeBtn.getData(DATA_KEY_VOLUME_ON));
  GameApp.Game.sound.mute = false;
}
else {
  this.m_volumeBtn.setFrame(this.m_volumeBtn.getData(DATA_KEY_VOLUME_OFF));
  GameApp.Game.sound.mute = true;
}

console.log(GameApp.Game.sound.mute)

无论我单击按钮多少次,控制台始终会打印false。我想知道我是否错过了一些要点,或者我是否必须使用另一种方法来使它起作用。

p.s。 GameApp.Game.sound.mute来自BaseSoundManager,并扩展了Phaser.Events.EventEmitter

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,所以我只使用了一个全局变量来跟踪静音状态:

isMute = !isMute;
game.sound.mute = isMute;
if (isMute === true) {
    muteAudioText.setText("SOUND\nOFF");
} else {
    muteAudioText.setText("SOUND\nON");
}