给你的Mod添加音乐

《霸主》的音频系统是基于 FMOD 音频引擎建立的。
为了保持音频引擎性能的同时让大家都能使用它,我们需要建立一个 中间层 (InterLayer)。

关键要素

你可以查看 Native Mod 中的例子。

基础指南

  1. 复制样例的文件和文件夹到你的 Mod 目录下;
  2. 添加新的音频文件到 ModuleSounds 文件夹;
  3. 打开编辑你 Mod 下的 module_sounds.xml 文件;
  4. 你会在 module_sounds.xml 文件中看到音频的目录,播放音乐的代码样例,以及样例的 module_sound 实体 (Entries);
  5. 在 module_sounds.xml 文件中为你的 Mod 添加新的音频实体;
  6. 根据代码播放新的音频实体。

下一步

使用 module_sounds.xml 文件

    <module_sound name="example/combat/hit" is_2d="true" sound_category="mission_combat" path="example_sound_modders.ogg" />

播放音频的代码样例

    int soundIndex = SoundEvent.GetEventIdFromString("example/voice/charge"); // 缓存 soundIndex 对象来避免运行中的 string 操作。
    if (playOneshot)
    {
        MakeSound(soundIndex, MainAgent.Position, false, true, -1, -1); // 给定的位置等参数信息,播放单触发 (one shot sound) 音频。
    }
    else
    {
        SoundEvent eventRef = SoundEvent.CreateEvent(soundIndex, Scene); // 给定音频的引用 (reference),可以之后更新细节参数。
        eventRef.SetPosition(MainAgent.Position);
        eventRef.Play();
    }

你有两种方式可以播放音频: