【问题标题】:How can you detect wether any music is playing in Phaser?您如何检测 Phaser 中是否正在播放任何音乐?
【发布时间】:2022-01-23 10:32:08
【问题描述】:

在我的游戏中,我有时想播放音乐。但不应覆盖已经播放的音乐。

那我该怎么办

  1. 检查音乐是否正在播放
  2. 管理声音

理想情况下在像this.sound这样的全局接口中

提前致谢

【问题讨论】:

    标签: javascript html phaser-framework


    【解决方案1】:

    HTML5AudioSound 拥有isPlaying 成员。

    // inside scene method, create sound
    const music = this.sound.add('music-name', {});
    music.play();
    
    // and later
    if(music.isPlaying) {
    
    }
    

    https://newdocs.phaser.io/docs/3.54.0/Phaser.Sound.HTML5AudioSound#isPlayinghttps://newdocs.phaser.io/docs/3.52.0/Phaser.Sound.HTML5AudioSoundManager

    this.soundHTML5AudioSoundManager 实例)

    【讨论】:

    • 但是我可以通过这个 API 访问所有的声音吗?
    • @MoPaMo 播放声音的唯一方法是通过HTML5AudioSoundManager 添加它。因此,您将可以访问所有声音。另外,请注意music-name 不是文件名,它的资源键由scene.load.audio(key, url); 加载
    猜你喜欢
    • 2011-01-17
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 2015-09-06
    • 1970-01-01
    相关资源
    最近更新 更多