Single Tech Games

Tutorial en español de Unity 2D #6 (Versión 4.3)

Hola gente! Hoy les llego con un nuevo video tutorial de unity 2d en español, ya estamos llegando al final solo faltan 2 videos 🙁 pero voy a agregar uno o dos después para explicar animaciones, salto, capas y otras cosas más, les llamare bonus tutorial y los iré agregando mientras más aprenda a utilizarlos 😀

El día de hoy aprenderemos sobre el sistema de partículas de unity, en particular como crear un sistema de explosión, algo muy interesante y bastante atractivo de ver, el sistema de partículas en unity es usado para dar muchos efectos diferentes en varios videojuegos, les recomiendo investigar un poco este tema, porque ayuda estéticamente.
Esta es la imagen del humo:
humo
Código
Este es el código de EfectosEspecialesScript

using UnityEngine;
using System.Collections;
/// <summary>
/// Creamos instancias de los efectos especiales
/// </summary>
public class EfectosEspecialesScript : MonoBehaviour {
 /// <summary>
 /// Singleton
 /// </summary>
 public static EfectosEspecialesScript Instancia;
 public ParticleSystem efectoHumo;
 public ParticleSystem efectoDesintegrar;
 void Awake()
 {
 // Registramos el singleton
 if (Instancia != null)
 {
 Debug.LogError("Muchas instancias de EfectosEspecialesScript!");
 }
 Instancia = this;
 }
 /// <summary>
 /// Se crea una explosion en un lugar en particular
 /// </summary>
 public void Explosion(Vector3 posicion)
 {
 // Humo
 instanciar(efectoHumo, posicion);
// Desintegracion
 instanciar(efectoDesintegrar, posicion);
 }
 /// <summary>
 /// Instanciamos el sistema de particulas desde los reutilizados
 /// </summary>
 private ParticleSystem instanciar(ParticleSystem reutilizado, Vector3 posicion)
 {
 ParticleSystem nuevoSistemaParticulas = Instantiate(
 reutilizado,
 posicion,
 Quaternion.identity
 ) as ParticleSystem;
 // Nos aseguramos que sea destruido
 Destroy(
 nuevoSistemaParticulas.gameObject,
 nuevoSistemaParticulas.startLifetime
 );
 return nuevoSistemaParticulas;
 }
}

Este es el código de SaludScript

 void OnTriggerEnter2D(Collider2D collider)
 {
 //Es un disparo?
 DisparoScript disparo = collider.gameObject.GetComponent<DisparoScript>();
 if (disparo != null)
 {
 // Revisamos si es enemigo o compañero
 if (disparo.esDisparoEnemigo != esEnemigo)
 {
 ps -= disparo.danho;
 // Destruimos el disparo
 // No coloquen solo Destroy()
 //sino eliminaran el Script
 Destroy(disparo.gameObject);
 if (ps <= 0)
 {
 // Muerto!
 EfectosEspecialesScript.Instancia.Explosion(transform.position);
 Destroy(gameObject);
 }
 }
 }
 }


Suerte!

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments