在游戏初始化时会执行音乐音效初始化逻辑,首先它会创建两个AudioSource用于播放背景音乐和音效.

  1. 背景音乐加载后循环播放.
  2. 音效播放时先检查是否已加载,若加载直接播放;若没有加载,先加载音效资源,播放,然后缓存起来供下次使用.

支持格式

MPEG layer 3 .mp3
Ogg Vorbis .ogg
Microsoft Wave .wav
Audio Interchange File Format .aiff / .aif
Ultimate Soundtracker module .mod
Impulse Tracker module .it
Scream Tracker module .s3m
FastTracker 2 module .xm

音效逻辑

public void Init()
        {
            InitBackground();
            audioSource = Camera.main.gameObject.AddComponent<AudioSource>();
        }

        private void InitBackground()
        {
            var source = Camera.main.gameObject.AddComponent<AudioSource>();
            source.loop = true;
            var path = ExcelManager.settings_audio[1].path;
            var asset = ServiceCenter.GetService<IAssetManager>().Load(path, AssetType.AudioClip);
            source.clip = asset.Cast<AudioClip>();
            source.Play();
        }

        public void Play(string path)
        {
            CheckClip(path);
            audioSource.clip = audioClips[path];
            audioSource.Play();
        }

        private void CheckClip(string path)
        {
            if (!audioClips.ContainsKey(path))
            {
                var asset = ServiceCenter.GetService<IAssetManager>().Load(path, AssetType.AudioClip);
                audioClips.Add(path, asset.Cast<AudioClip>());
            }
        }

音效资源都是通过配置的方式实现,方便更新和替换.

results matching ""

    No results matching ""