Как сделать так, чтобы на сцене мог быть только один источник звука. Например по дефолту слышен звук природы, шум листьев, пение птиц, но при нажатии на объект все эти звуки затихали, и играла бы только одна мелодия, после окончания которой все эти дефолтные звуки продолжались.
Foohorb, ставишь тем звукам, которые должны удалиться, определённый тег (пусть будет ambient). Создаёшь скрипт, в котором все объекты с данным тегом засовываешь в массив (командой GameObject.FindGameObjectsWithTag("ambient")). Потом просто в нужный момент с помощью цикла все их отключаешь/включаешь. Вот и всё )
Сообщение отредактировал White9 - Воскресенье, 27 Октября 2013, 21:05
Если нужно "быстро", создаешь пустой объект с источником звука в него вкладываешь необходимые тебе звуки. и по требованию.
Код
using UnityEngine; using System.Collections;
public class MusicBoxScript : MonoBehaviour { public AudioClip[] AudioClips; public void PlayMusic(int MusicToPlay){ audio.clip = AudioClips[MusicToPlay]; audio.loop = true;// false как тебе надо audio.Play(); } }
Если нужно красиво, создаешь 2 объекта с источником звука, тогда при переключении audio.volume одного уменьшаешь, другого - увеличиваешь. для звуков указать, что это 2д звуки, чтобы не было проблем с уровнем громкости и панорамой