Hola Gente! Esta semana hacemos que el Flappy muera al contacto con el León, pero que este no se mueva, ni muera a menos que le caiga un tronquito. Simple de decir, simple de hacer, de paso dejamos todo listo para finalizar el Nivel.
FlappyScript
- - - void OnCollisionEnter2D(Collision2D coll) { if (coll.gameObject.name == "Leon") animador.SetBool("Muerto",true); }
LeonScript
- - - void OnCollisionEnter2D(Collision2D coll) { if (coll.gameObject.name == "Tronquito") animador.SetBool("Muerto",true); if (coll.gameObject.name == "Flappy") GetComponent<Rigidbody2D>().isKinematic = true; } void OnCollisionExit2D(Collision2D coll) { if (coll.gameObject.name == "Flappy") GetComponent<Rigidbody2D>().isKinematic = false; }
Nivel1Script
using UnityEngine; using System.Collections; using UnityEngine.UI; public class Nivel1Script : MonoBehaviour { public int puntajes = 400; private int puntaje3Estrella = 399; private int puntaje2Estrella = 299; public Animator[] animEstrellas; public Text puntajesTxt; public Transform menuFin; public Transform menuPausa; public bool juegoTerminoEnExito; public bool juegoTerminoEnFallo; private bool guardoPuntajes; void Update() { if(juegoTerminoEnExito){ if(guardoPuntajes==false) { guardarPuntajes(); } } else{ if(juegoTerminoEnFallo) menuPausa.gameObject.SetActive(true); } } public void modificarPuntajes(int puntos) { puntajes = puntajes + puntos; } public void guardarPuntajes() { menuFin.gameObject.SetActive(true); puntajesTxt.text = puntajes.ToString(); int puntajeAnterior = PlayerPrefs.GetInt("puntajeNivel1"); int numEstrellas = 0; if(puntajes < puntaje2Estrella) numEstrellas = 1; if(puntajes > puntaje2Estrella) numEstrellas = 2; if(puntajes > puntaje3Estrella) numEstrellas = 3; for(int i = 0; i < numEstrellas; i++) { animEstrellas[i].SetBool("Pintar",true); } if(puntajes>puntajeAnterior) { PlayerPrefs.SetInt("puntajeNivel1",puntajes); PlayerPrefs.SetInt("estrellasNivel1",numEstrellas); } guardoPuntajes = true; } }
Proyecto
https://app.box.com/s/5qtwtafama1rmppfq732ksjbaim9vp7g
Suerte!
se esta intentado crear un lugar en StackExchange sobre el desarrollo de videojuegos en español, que se creara algo asi seria muy bueno para los desarrolladores hispanohablantes pueden ver la propuesta aqui http://area51.stackexchange.com/proposals/87251/game-development-in-spanish y si pueden ayudar a su creacion solo se nesecita tener una cuenta Exchange que es gratuita y apoyar a la creacion del sitio.
Interesante propuesta, pero es sobre unity o sobre todo tipo de programación de videojuegos?