所以我想在从主菜单切换到新场景的同时,从同一时间继续播放相同的音乐。所以我做了这个:
using UnityEngine;
public class AudioManager : MonoBehaviour
{
public AudioSource bgm;
void Update()
{
DontDestroyOnLoad(bgm);
}
}
这很好用。但当我回到主菜单时,相同的音乐开始同时播放两次。那么我该怎么做才能不发生这种事呢?
-
删除Update函数,其中包括;DontDestroyOnLoad(bgm(";线路
-
删除名为bgm 的变量
-
在类本身中创建该类的静态实例变量,并使用它来检查是否应该销毁它。示例:
私人静态AudioManager AudioManager;
私人虚空觉醒(({DontDestroyOnLoad(游戏对象(;
if (audioManager == null) { audioManager = this; } else { Destroy(gameObject); }
}