Я разработчик игр, использую Unity2D. Я делаю довольно простое задание, но уже сошёл с ума и хочу обратиться к другим живым людям, чтобы не сойти с ума окончательно! Итак, у нас есть Ambient Manager, который должен воспроизводить один из случайных треков массива в определенных локациях/сценах игры. То есть, грубо говоря, игра должна как-то понимать, на каких этапах будет проигрываться та или иная комбинация случайных треков. Казалось бы, я мог бы просто расставить префабы по всем сценам, но мне нужна была плавность воспроизведения музыки, поэтому пришлось добавлять условия, чтобы не разрушить объект.
Короче, проблема в том, что теперь играет только одна комбинация треков, хотя хотелось бы сделать так, чтобы на одних сценах одна комбинация играла БЕЗПРЕРЫВНО, а другая на других. Кроме того, некоторые сцены вообще не нуждаются в эмбиенте (например, главное меню). Пожалуйста, помогите мне!
Скрипт AmbientManager
с использованием System.Collections; использование System.Collections.Generic; использование UnityEngine; использование UnityEngine.SceneManagement; публичный класс AmbientManager: MonoBehaviour { общедоступный AudioClip[] audioClips частный AudioSource audioSource; частная пустота Пробуждение() { audioSource = GetComponent(); DontDestroyOnLoad(gameObject); } частная пустота Старт() { int randomIndex = Random.Range(0, audioClips.Length); AudioClip randomClip = audioClips[randomIndex]; audioSource.clip = случайный клип; аудиоисточник.Play(); } частное недействительное обновление() { если (Pause_menu.GameIsPaused) { } еще { audioSource.UnPause(); } } }

Мобильная версия