Hola gente! Hoy les traigo un post pequeño porque estoy de pasada, mañana expongo mi tesis de titulación para la universidad, hace casi 10 años salí de estudiar pero para hacer maestría en el extranjero o ser docente en mi pais es un requerimiento u_u trata sobre medir la inmersión en videojuegos y por esa razón no podré ir al Game Jam este año 🙁
Bueno hoy en el video tutorial les hablaré de cómo colocar sonidos y hacer sonidos en unity 2D, ya solo falta un video y disculpen la calidad de este pero lo hice cuando estaba con una gripe atroz pero era el único momento libre que tuve, les recomendaría que bajen sus propios sonidos, y prueben otras cosas también.
Sonidos
[soundcloud url=”http://api.soundcloud.com/tracks/160065225″ iframe=”true” /]
[soundcloud url=”https://api.soundcloud.com/tracks/167781294″ iframe=”true” /]
[soundcloud url=”https://api.soundcloud.com/tracks/201460762″ iframe=”true” /]
[soundcloud url=”https://api.soundcloud.com/tracks/201461776″ iframe=”true” /]
Imágenes
Código
Este es el código de EfectosDeSonido
using UnityEngine; using System.Collections; /// <summary> /// Clase con los efectos de sonido /// </summary> public class EfectosDeSonido : MonoBehaviour { /// <summary> /// Singleton /// </summary> public static EfectosDeSonido Instancia; public AudioClip sonidoExplosion; public AudioClip sonidoMisil; public AudioClip sonidoRayo; void Awake() { // Registramos el singleton if (Instancia != null) { Debug.LogError("Muchas instancias de EfectosDeSonido!"); } Instancia = this; } public void ReproducirSonidoExplosion() { ReproducirSonido(sonidoExplosion); } public void ReproducirSonidoMisil() { ReproducirSonido(sonidoMisil); } public void ReproducirSonidoRayo() { ReproducirSonido(sonidoRayo); } /// <summary> /// Reproducir un sonido /// </summary> private void ReproducirSonido(AudioClip clipOriginal) { // Como no es un sonido 3D la posicion no importa AudioSource.PlayClipAtPoint(clipOriginal, transform.position); } }
Este es el código de CoheteScript
void Update() {... EfectosDeSonido.Instancia.ReproducirSonidoMisil(); ...}
Este es el código de NubeScript
void Update() {... EfectosDeSonido.Instancia.ReproducirSonidoRayo(); ...}
Este es el código de SaludScript
void void OnTriggerEnter2D(Collider2D collider) {... EfectosDeSonido.Instancia.ReproducirSonidoExplosion(); ...}
Este es el código de MenuScript
using UnityEngine; /// <summary> /// Script del Menu /// </summary> public class MenuScript : MonoBehaviour { void OnGUI() { const int anchoBoton = 84; const int altoBoton = 60; // Dibujamos un boton de inicio del juego if ( GUI.Button( new Rect( Screen.width / 2 - (anchoBoton / 2), (2 * Screen.height / 3) - (altoBoton / 2), anchoBoton, altoBoton ), "Inicio!" ) ) { // Al hacer Clic iniciamos el nivel 1 Application.LoadLevel("Escena1"); } } }
Este es el código de GameOverScript
using UnityEngine; /// <summary> /// Script despues de morir /// </summary> public class GameOverScript : MonoBehaviour { void OnGUI() { const int anchoBoton = 140; const int altoBoton = 60; if ( GUI.Button( new Rect( Screen.width / 2 - (anchoBoton / 2), (1 * Screen.height / 3) - (altoBoton / 2), anchoBoton, altoBoton ), "Reiniciar!" ) ) { // Reiniciamos el nivel Application.LoadLevel("Escena1"); } if ( GUI.Button( new Rect( Screen.width / 2 - (anchoBoton / 2), (2 * Screen.height / 3) - (altoBoton / 2), anchoBoton, altoBoton ), "Regresar al Menu" ) ) { // Vamos a Menu Application.LoadLevel("Menu"); } } }
Este es el código de CoheteScript
/// <summary> /// Se ejecuta justo antes del Destroy /// </summary> void OnDestroy() { // Juego Terminado // Agregamos el Script al objeto cohete transform.parent.gameObject.AddComponent<GameOverScript>(); }
Suerte!
Hola Julio, Muchas felicidades y gracias por todo!!
de nada 🙂
Hola julio, antes que nada queria felicitarte por tu juego y este blog que armaste, que ma ha ayudado mucho.
Estube intentando bajarme los sonidos del rayo y del misil y no logro hacerlo (no me aparece la opcion de “download” como en los otros dos).
PD.: suerte con tu tesis!!
Hola ya expuse mi tesis y ya soy ingeniero 🙂 ahora estoy revisando los sonidos y tenias mucha razón, había una opción que no marqué, pero demora en actualizar, en todo caso si ingresas en la página de SoundCloud ya debería poder descargar https://soundcloud.com/singletechgames
Suerte con la tesis! 🙂
Respecto a lo que comentaba en el otro post…pienso seguir con Unity. Tiene muchas ventajas y pasaré por alto el tema de la compatibilidad con ARMv6
Genial ya somos 2, por ahora 😛