Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Administrador de Sonido | Interfaz y Sonidos de Unity
Unity para Principiantes
course content

Contenido del Curso

Unity para Principiantes

Unity para Principiantes

1. Introducción a Unity
2. Escribe tu Primer Script
3. Física de Unity
4. Interfaz y Sonidos de Unity
5. Pulido y Exportación de tu Juego

bookAdministrador de Sonido

Inicialización de Singleton en Unity:

En Unity, a menudo necesitamos que ciertos gestores o controladores persistan a través de las escenas, como un gestor de sonido. La clase SoundManager está diseñada como un Singleton para asegurar que solo haya una instancia de ella durante toda la vida del juego. Así es como se utiliza dentro de Unity:

Instancia Única: La línea SoundManager pública estática; declara una variable estática instancia del tipo SoundManager. Esta variable contiene la única instancia de la clase SoundManager.

Inicialización en el Método Start(): En el método Start(), que es llamado automáticamente por Unity cuando el GameObject al que este script está adjunto se activa, se inicializa la instancia del Singleton.

Si la instancia es nula, lo que significa que aún no existe una instancia de SoundManager, la instancia actual (this) se asigna a la instancia, convirtiendo efectivamente este objeto en la instancia singleton.

Si instance no es nula, significa que ya existe otra instancia de SoundManager (lo cual no debería suceder en un patrón Singleton). En este caso, el GameObject actual (esta instancia) se destruye (Destroy(gameObject)) para reforzar el patrón Singleton.

DontDestroyOnLoad(gameObject) asegura que el GameObject (y por lo tanto, la instancia de SoundManager) persista entre cambios de escena. Esto es crucial para mantener el mismo estado de audio a través de diferentes escenas.

Accediendo a la Instancia Singleton:

Una vez que el SoundManager está configurado como un Singleton, otros scripts pueden fácilmente acceder a su funcionalidad a lo largo del juego: Otros scripts pueden acceder a la instancia de SoundManager usando SoundManager.instance. Por ejemplo, para reproducir un efecto de audio, otro script puede llamar a SoundManager.instance.PlayEffect(index). De esta manera, cualquier script en el juego puede acceder a la instancia de SoundManager y su funcionalidad sin necesidad de crear múltiples instancias o preocuparse por la inicialización.

Ventajas en Unity:

Usar el patrón Singleton en Unity, especialmente para gestores como el SoundManager, ofrece varios beneficios:

Gestión Centralizada: Proporciona un punto central para gestionar la funcionalidad relacionada con el sonido, facilitando el control y mantenimiento de la reproducción de audio en todo el juego.

Acceso Global: La instancia Singleton puede ser accedida globalmente desde cualquier script, permitiendo que diferentes partes del juego interactúen con el sistema de sonido sin problemas.

Persistencia: La instancia Singleton persiste a través de escenas, asegurando una reproducción de audio consistente en todo el juego sin interrupciones durante los cambios de escena.

1. ¿Cuál es el propósito de la variable de instancia en la clase SoundManager?
2. ¿Qué hace DontDestroyOnLoad(gameObject) en la clase SoundManager?
¿Cuál es el propósito de la variable de instancia en la clase SoundManager?

¿Cuál es el propósito de la variable de instancia en la clase SoundManager?

Selecciona la respuesta correcta

¿Qué hace DontDestroyOnLoad(gameObject) en la clase SoundManager?

¿Qué hace DontDestroyOnLoad(gameObject) en la clase SoundManager?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 5
some-alt