Hola Gente! Hoy les traigo un nuevo vídeo de la serie de Unity 2.5D usando las herramientas de Unity 2D 😛 vamos a ver algunos temas nuevos y un tema que salio de ultimo momento que es 3D Text, bastante interesante la verdad y completo todo el tema de Multi-lenguaje 🙂
Código
ManejadorTextosBotonesScript
using UnityEngine; using System.Collections; public class ManejadorTextosBotonesScript : MonoBehaviour { public int tamanoFuente; private GUIText texto; public bool posicionar; public Transform objetoBase; private Camera camara; public Vector3 ajuste = Vector3.zero; public int posicionEnTexto; private int idiomaActual; // Use this for initialization void Start () { texto = this.gameObject.GetComponent<GUIText> (); //Tamaño fluctua dependiendo el ancho de pantalla (en pantalla de ancho de 800 el tamano seria 40) texto.fontSize = Screen.width * tamanoFuente/100; camara = Camera.main; if(posicionar){ texto.gameObject.transform.position = camara.WorldToViewportPoint(objetoBase.position + ajuste); } } // Update is called once per frame void Update () { if(posicionar){ texto.gameObject.transform.position = camara.WorldToViewportPoint(objetoBase.position + ajuste); } if(idiomaActual != VariablesGlobalesScript.idiomaActual){ texto.text = VariablesGlobalesScript.ColocarIdiomaTexto(posicionEnTexto); idiomaActual = VariablesGlobalesScript.idiomaActual; } } }
ManejadorTextos3DScript
using UnityEngine; using System.Collections; public class ManejadorTextos3DScript : MonoBehaviour { private TextMesh texto; public int posicionEnTexto; private int idiomaActual; // Use this for initialization void Start () { texto = (TextMesh) this.transform.GetComponent(typeof(TextMesh)); //texto.text = VariableGlobalesScript.ColocarIdiomaTexto(posicionEnTexto); } // Update is called once per frame void Update () { if(idiomaActual != VariablesGlobalesScript.idiomaActual){ texto.text = VariablesGlobalesScript.ColocarIdiomaTexto(posicionEnTexto); idiomaActual = VariablesGlobalesScript.idiomaActual; } } }
VariablesGlobalesScript
using UnityEngine; using System.Collections; public class VariablesGlobalesScript : MonoBehaviour { public static string[] escenaMenu; //entre 1 y 2 (español/ingles) public static int idiomaActual; private static string[] escenaMenuEspanol = { "Jugar", "Lenguajes"}; private static string[] escenaMenuIngles = { "Play", "Languages"}; // Use this for initialization void Start () { DontDestroyOnLoad (transform.gameObject); if(Application.systemLanguage == SystemLanguage.Spanish) CambiarIdioma(1); if(Application.systemLanguage == SystemLanguage.English) CambiarIdioma(2); } public static void CambiarIdioma(int idioma) { if(idioma == 1) escenaMenu = escenaMenuEspanol; if(idioma == 2) escenaMenu = escenaMenuIngles; idiomaActual = idioma; } public static string ColocarIdiomaTexto(int posicion) { return escenaMenu [posicion]; } }
BotonIdiomasScript
using UnityEngine; using System.Collections; public class BotonIdiomasScript : MonoBehaviour { public int idioma; private BoxCollider2D presionar; public FuncionesComunesScript funcionesComunes; // 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) { VariablesGlobalesScript.CambiarIdioma(idioma); } } }
Proyecto
https://www.box.net/shared/tqmhga7xg8j3lm8d3bc4
Vídeo
Parte 1 -> Variables Globales
https://www.youtube.com/watch?v=5r1-7KYFPps#t=1m07s
Parte2 -> Manejadores de Texto
https://www.youtube.com/watch?v=5r1-7KYFPps#t=6m37s
Parte3 -> Manejador de 3DText
https://www.youtube.com/watch?v=5r1-7KYFPps#t=11m32s
No olviden descargar el nuevo juego de Richy Suarez 🙂 otro indie como nosotros con un juego muy bueno https://play.google.com/store/apps/details?id=com.patacoongames.thiefsurfer
Suerte!