Hola a todos. Tengo un trigger que detecta el comienzo de un audio y otro que hace lo mismo con otro audio.
Cómo detener uno para que empiece otro?
Estoy en una encrucijada.
Gracias!!
No entiendo bien la pregunta, pero si ya sabes que comienza uno y quieres parar el otro, ¿no sería algo asi?
Presupongo que hay un objeto que contiene un AudioSource con un clip y que lo quieres parar desde otro.
// Comienza un audio, asi que paro el otro.
AudioSource audioAParar;
AudioAParar = ObjetoQueContieneElAudio.GetComponent<AudioSource>();
AudioAParar.Stop();
Voy a probar eso.
Gracias, FNP.
Básicamente lo que intento es parar un audio que activé con un script desde otro script.
Y desde éste último activar un audio nuevo cuando entro en el nuevo trigger.
Cita de: Packobilly date=1517758605Cómo detener uno para que empiece otro?
Cualquier cosa que quieras hacer con audios involucra tener una referencia y manejar el "AudioSource", (hay formas más prolijas de hacerlo con managers y todo eso...). Podés hacer algo como esto (aunque no me queda bien en claro si es esto lo que querés):
//Se supone que este objeto tiene un audioSource y se mete al trigger (?)
AudioSource esteAudio;
//Arrastras el GameObject directamente, (solo te reconoce el componente AudioSource) del otro objeto
// lo mismo se aplica para el otro
public AudioSource aquelAudio;
void Awake(){
esteAudio = GetComponent<AudioSource>();
}
void OnTriggerEnter(....)
{
...
if(seDaloQuese Tenga que dar)
{
if(aquelAudio.isPlaying)
aquelAudio.Stop();
esteAudio.Play();
}
}
Para futuras consultas, fijate que es todo tan fácil como irte al manual y ver todo lo que el componente te brinda:
https://docs.unity3d.com/ScriptReference/AudioSource.html (https://docs.unity3d.com/ScriptReference/AudioSource.html)
Y si sabés manejar triggers ya tenés todo lo que necesitas.
Saludos
Exactamente era eso y funciona de maravilla. Mil gracias, Lightbug!