Gente esta es la parte final del tutorial de inventarios, la verdad no sé muy que hacer en el siguiente video, creo que voy a ver todo lo que es salud, ver el tema de vida, o de plano iniciar otros tutorial, me ha provocado hacer algo como Ant Smasher, zombie smasher pero solo un nivel, o algún juego simple de hacer, este tutorial de unity 2.5D como que se hace muy largo, es probable que empiece a simplificar más mis tutoriales, al igual que mis juegos.
En otras noticias 😛 sigo en la selva de mi país casi casi desconectado, solo cuando regreso a la ciudad tengo internet, después vivo en una ciudad apartada bastante pequeña (unas 10 mil personas en total) sin acceso a internet, perfecto para descansar y meditar pero no muy bueno para investigar y aprender cosas nuevas, no tengo fecha definida de regreso a la normalidad así que me verán intermitente por aquí por estos días.
Proyecto
https://www.box.net/shared/z3xu9s0jnm1re5l2qy9a
Código
PersonajeScript
using UnityEngine; using System.Collections; public class PersonajeScript : MonoBehaviour { public int HP; public float resistencia; public Transform personajeSinArmadura; public Transform personajeConMetal; private int personajeActual = 1;//1 sin armadura, 2 con armadura // Use this for initialization void Start () { DontDestroyOnLoad (transform.gameObject); } public void cambiarArmadura(string codigo) { Transform personajeUsando = null; if(personajeActual == 1) { personajeUsando = personajeSinArmadura; personajeSinArmadura.gameObject.SetActive(false); } if(personajeActual == 2) { personajeUsando = personajeConMetal; personajeConMetal.gameObject.SetActive(false); } if(codigo == "Metal") { personajeConMetal.position = personajeUsando.position; personajeConMetal.gameObject.SetActive(true); personajeActual = 2; } if(codigo == "") { personajeSinArmadura.position = personajeUsando.position; personajeSinArmadura.gameObject.SetActive(true); personajeActual = 1; } } }
BotonCheckScript
using UnityEngine; using System.Collections; public class BotonCheckScript : MonoBehaviour { private BoxCollider2D presionar; public FuncionesComunesScript funcionesComunes; public ItemsUsadosScript itemsUsados; public PersonajeScript personaje; public Transform inventario; public Transform controles; void Start () { presionar = this.gameObject.GetComponent<BoxCollider2D>(); } // Update is called once per frame void Update () { tocandoPantalla (); } private void tocandoPantalla() { bool presiono = funcionesComunes.contactoCaja (presionar); if (presiono) { string codigo; if(itemsUsados.miniArmadura != null) codigo = itemsUsados.miniArmadura.codigo; else codigo = ""; personaje.cambiarArmadura(codigo); inventario.gameObject.SetActive(false); controles.gameObject.SetActive(true); } } }
BotonMochilaScript
using UnityEngine; using System.Collections; public class BotonMochilaScript : MonoBehaviour { private BoxCollider2D presionar; public FuncionesComunesScript funcionesComunes; public Transform inventario; public Transform controles; // Use this for initialization void Start () { presionar = this.gameObject.GetComponent<BoxCollider2D>(); } // Update is called once per frame void Update () { tocandoPantalla (); } private void tocandoPantalla() { bool presiono = funcionesComunes.contactoCaja (presionar); if (presiono) { inventario.gameObject.SetActive(true); controles.gameObject.SetActive(false); } } }
BotonBorrarScript
using UnityEngine; using System.Collections; public class BotonBorrarScript : MonoBehaviour { private BoxCollider2D presionar; public FuncionesComunesScript funcionesComunes; public ManejadorEspaciosVaciosScript espaciosVacios; // Use this for initialization void Start () { presionar = this.gameObject.GetComponent<BoxCollider2D>(); } // Update is called once per frame void Update () { tocandoPantalla (); } private void tocandoPantalla() { bool presiono = funcionesComunes.contactoCaja (presionar); if (presiono) { Transform espVacio = espaciosVacios.espacios [espaciosVacios.espacioElegido]; if(espVacio != null) { ItemsScript[] todosHijos = espVacio.GetComponentsInChildren<ItemsScript>(); for(int i = 0; i < todosHijos.Length; i++) { if(todosHijos[i] != null) todosHijos[i].destruir(); } espaciosVacios.espaciosOcupados[espaciosVacios.espacioElegido] = false; } } } }
Suerte!
Me refiero a la relacion de aspecto. Antes yo usaba AspectUtility.cs para que el juego se adapte a cada pantalla de mobiles. Con 4.6 ya no es necesario, mejoran en ese aspecto al igual con los botones para que se adapten y no tener que usar 3D Text
Ah interesant estuve viendo com crear un panel UI tambien está muy interesante, lo voy a revisar esta semana que regrese a mi ciudad natal
Amigo creo que usas mal el método Update, supongo lo empezaras a notar mas adelante.
asi? en que sentido? quizás no me he percatado
Sería posible que hicieras un tutorial de unity 4.6. Sobre los UI Canvas y como corregirlo en viejos proyectos
Recien estoy jugando con unity 4.6 la verdad no encuentro grandes diferencias entre uno u otro, pero recien he comenzado un pequeño proyecto, si pudieras ser más especifico seria genial