domingo, 20 de septiembre de 2015

Texto con efecto parpadeante en unity 5+


1.- Creamos un nuevo proyecto en 2D
2.- Creamos un nuevo texto dandole en GameObject -> UI -> Text, y le colocamos un nombre cualquiera, esto nos agregara tambien un canvas y un EventSystem.

3.- Ahora que lo hemos creado podemos ponerlo en cualquier posicion, para ello si queremos le damos en el inspector en el icono de un cuadro con la posicion y podemos elegir su posicion, con esto aseguramos que en nuestra ventana de Game la posicion sea relativa y no cambien tambien le podemos dar la tecla alt o shitf y cambian nuestras opciones.



4.- Por el momento dejamos las opciones del inspector como estan, no cambiamos nada, bien ahora crearemos un C# Script el cual nos realizara el efecto de parpadeo lo llamaremos TextoParpadeante. Abrimos el Script en Monodevelop dando doble clic al script, y agregamos el siguiente codigo.



TextoParpadeante.cs

using UnityEngine;
using System.Collections;

//agregamos nuevos using para poder usar el New GUI
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class TextoParpadeante : MonoBehaviour {

 //Agregamos las variables de Texto y Strings
 Text textoParpadeante;
 string textoQueParpadea = "Depredador1220";
 string textoEnBlanco = "";
 string textoEstatico = "NO PARPADEA";

 //Agregamos una bandera que sera nuestro identificador para cambiar el texto
 bool estaParpadeando = true;
 
 void Start () 
 {
  //obtenemos el componente del texto
  textoParpadeante = GetComponent<text>();

  //llamamos al coroutine de la funcion de TextoParpadeo
  StartCoroutine(TextoParpadeo());

  //llamamos a la otra funcion para saber si se detuvo el tiempo de parpadeo
  StartCoroutine(DetenerParpadeo());
 }

 //funcion para que parpadee el texto
 public IEnumerator TextoParpadeo()
 {
  //el parpadeo sera infinito hasta que termine la condicion dependiendo tu eleccion
  while(estaParpadeando)
  {
   //Establecemos nuestro texto en blanco
   textoParpadeante.text = textoEnBlanco;

   //mostramos el texto en blanco por 0.5 segundos
   yield return new WaitForSeconds(.5f);

   //mostramos nuestro texto en mi caso Depredador1220 por otros 0.5 segundos
   textoParpadeante.text = textoQueParpadea;
   yield return new WaitForSeconds(.5f);
  }
 }

 //funcion para detener el parpadeo
 public IEnumerator DetenerParpadeo()
 {
  //Esperamos por 5 segundos
  yield return new WaitForSeconds(5f);

  //detenemos el parpadeo
  estaParpadeando = false;

  //mostramos diferentes textos para probar
  textoParpadeante.text = textoEstatico;
 }
} 


5.-Ahora con nuestro Script Terminado, podemos cambiarle las propiedades de nuestro texto como el color, tamaño, posicion, fuente etc.






6.- Ahora arrastramos nuestro script hacia el texto para asignarselo.





7.- Ahora solo le damos reproducir para obtener nuestro resultado.




Practica siempre para ir mejorando, la repetición y la constancia nos ayudan a mejorar, recuerda cada vez lo harás mejor, si te equivocas esta bien, permitirse equivocarse es la clave de mejora continua, así que permítete equivocarte mas seguido.

Si te gusta este sitio y deseas que esto continué vivo tu apoyo sera importante, puedes dar clic en la publicidad si lo deseas o puedes donar algo en Patreon si puedes permitírtelo, con esto el proyecto empezara a tener un objetivo y dejara de navegar sin rumbo y empezara a convertirse en una comunidad que ayudara unos a los otros, saludos y excelente día.

No hay comentarios:

Publicar un comentario