2016-08-19 19 views
0

Простой вопрос, но сделайте меня размытым.Unity3d - Не перезагружайте аудиоисточник при переключении сцены

У меня есть источник звука, скажем, сцена «Главная», и я делаю это DontDestroyOnLoad, благодаря чему он может продолжать играть на моем звуке, даже на следующей сцене, скажем, сцену «Игра».

Проблема в том, что когда я вернусь из сцены «Игра» в сцену «Главная», мой звук перезапустится, но не продолжит играть, как я ожидал. Как мне на самом деле писать сценарий?

Мой текущий сценарий:

void Awake() { 
    if (instance != null && instance != this) { 
     Destroy(this.gameObject); 
     return; 
    } else { 
     instance = this; 
    } 
    DontDestroyOnLoad(this.gameObject); 
} 
+0

** Когда я вернусь из сцены «Игра» в сцену «Главная» **, как вы загружаете свою сцену? –

+0

Связан ли источник аудиосигнала с объектом, на котором установлен этот сценарий? – Rob

+0

@UmairM I с использованием SceneManager.LoadScene («Main»); – NewBieS

ответ

0

Просто Instantiate вы AudioController объект, если нет AudioController в главной сцене.

void Start() 
{ 
if(GameObject.FindWithTag("AudioController") == NULL) 
    { 
    Instantiate(AudioController); 
    } 
} 

AudioController является тот, который будет иметь DontDestroyOnLoad и AudioSource в нем. Таким образом, будет только один случай.