在 Phaser 中循环播放音频
Looping audio in Phaser
我刚开始使用 Phaser 制作一个简单的平台游戏,我是新手。
我已经设法播放音乐,但无法循环播放,Google 没有帮助。
这是我正在使用的音频代码,有什么建议吗?
game.load.audio('hotttt', ['assets/audio/hotttt.mp3', 'assets/audio/hotttt.ogg']);
music = game.add.audio('hotttt');
music.play();
您将需要创建一个新的 Phaser.Sound
对象并启用 loop
。
game.load.audio('hotttt', ['assets/audio/hotttt.mp3', 'assets/audio/hotttt.ogg']);
// *true* param enables looping
music = new Phaser.Sound(game,'hotttt',1,true);
music.play();
可以参考文档- Phaser.Sound
首先,像以前一样加载音频文件,然后为音频本身创建实例。
示例:
game.load.audio('background_music', ['assets/sounds/background_music.mp3', 'assets/sounds/background_music.wav']);
backgroundMusic = game.add.audio('background_music');
backgroundMusic.loop = true; // This is what you are looking for
backgroundMusic.play();
希望对您有所帮助!
最适合我的解决方案是:
music = game.add.audio('yourMusicFile');
music.loopFull()
根据 v2.4.4 的 docs(我用 2.6.1 对其进行了测试),您可以将一个额外的参数传递给 game.add.audio()
循环函数
例子
game.load.audio('background', ['assets/audio/background.wav'])
const backgroundSound = game.add.audio('background', 0.5, true) // here "true" means to loop
backgroundSound.play()
对我来说效果很好
正在查看此 Phaser 3 主题的任何人。
在 preload() 中加载音乐
this.load.audio('musicaudio', 'assets/musicl.mp3');
然后在你自己的函数中或者create()
var music = this.sound.add('musicaudio');
music.setLoop(true);
music.play();
我不太明白初始化音频背后的机制,但为了在我的 Chrome 环境中这样做,我必须在初始配置声明中设置它。
audio: {
disableWebAudio: true,
noAudio: false
},
P.S。我在某处读到你不应该使用 mp3 进行循环,但它对我来说很好用。也许有一个短暂的停顿。
我刚开始使用 Phaser 制作一个简单的平台游戏,我是新手。
我已经设法播放音乐,但无法循环播放,Google 没有帮助。
这是我正在使用的音频代码,有什么建议吗?
game.load.audio('hotttt', ['assets/audio/hotttt.mp3', 'assets/audio/hotttt.ogg']);
music = game.add.audio('hotttt');
music.play();
您将需要创建一个新的 Phaser.Sound
对象并启用 loop
。
game.load.audio('hotttt', ['assets/audio/hotttt.mp3', 'assets/audio/hotttt.ogg']);
// *true* param enables looping
music = new Phaser.Sound(game,'hotttt',1,true);
music.play();
可以参考文档- Phaser.Sound
首先,像以前一样加载音频文件,然后为音频本身创建实例。
示例:
game.load.audio('background_music', ['assets/sounds/background_music.mp3', 'assets/sounds/background_music.wav']);
backgroundMusic = game.add.audio('background_music');
backgroundMusic.loop = true; // This is what you are looking for
backgroundMusic.play();
希望对您有所帮助!
最适合我的解决方案是:
music = game.add.audio('yourMusicFile');
music.loopFull()
根据 v2.4.4 的 docs(我用 2.6.1 对其进行了测试),您可以将一个额外的参数传递给 game.add.audio()
循环函数
例子
game.load.audio('background', ['assets/audio/background.wav'])
const backgroundSound = game.add.audio('background', 0.5, true) // here "true" means to loop
backgroundSound.play()
对我来说效果很好
正在查看此 Phaser 3 主题的任何人。
在 preload() 中加载音乐
this.load.audio('musicaudio', 'assets/musicl.mp3');
然后在你自己的函数中或者create()
var music = this.sound.add('musicaudio');
music.setLoop(true);
music.play();
我不太明白初始化音频背后的机制,但为了在我的 Chrome 环境中这样做,我必须在初始配置声明中设置它。
audio: {
disableWebAudio: true,
noAudio: false
},
P.S。我在某处读到你不应该使用 mp3 进行循环,但它对我来说很好用。也许有一个短暂的停顿。