Skip to content

Instantly share code, notes, and snippets.

@ninpl
Last active May 30, 2017 19:09
Show Gist options
  • Select an option

  • Save ninpl/f8a46c4041dd030e2f031292105f11c8 to your computer and use it in GitHub Desktop.

Select an option

Save ninpl/f8a46c4041dd030e2f031292105f11c8 to your computer and use it in GitHub Desktop.
Fade In/Out en Unity3d de una imagen
// ┌∩┐(◣_◢)┌∩┐
// \\
// ImagenFade.cs (29/05/2017) \\
// Autor: Antonio Mateo (Moon Antonio) antoniomt.moon@gmail.com \\
// Descripcion: Controla el Fade In o Fade on de una imagen \\
// Fecha Mod: 29/05/2017 \\
// Ultima Mod: Version Inicial \\
//******************************************************************************\\
#region Librerias
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
#endregion
namespace MoonAntonio.UI.Efectos
{
/// <summary>
/// <para>Controla el Fade In o Fade on de una imagen </para>
/// </summary>
[AddComponentMenu("MoonAntonio/UI/Efectos/ImagenFade")]
public class ImagenFade : MonoBehaviour
{
#region Variables Publicas
/// <summary>
/// <para>Imagen para el efecto</para>
/// </summary>
public Image img; // Imagen para el efecto
/// <summary>
/// <para>Tipo de fade de la imagen</para>
/// </summary>
public TipoFade tipoFade = TipoFade.In; // Tipo de fade de la imagen
#endregion
#region Inicializacion
/// <summary>
/// <para>Inicializa <see cref="ImagenFade"/></para>
/// </summary>
public void Init()// Inicializa ImagenFade
{
// Inicializa el Fade
StartCoroutine(FadeImage());
}
#endregion
#region actualizadores
/// <summary>
/// <para>Hace un fade de la imagen</para>
/// </summary>
/// <returns></returns>
IEnumerator FadeImage()// Hace un fade de la imagen
{
// Fade Out [opaco a transparente]
if (tipoFade == TipoFade.Out)
{
// Loop durante n segundos
for (float i = 1; i >= 0; i -= Time.deltaTime)
{
// Establecer el color con i como alfa
img.color = new Color(1, 1, 1, i);
yield return null;
}
}
// Fade In [Transparente a Opaco]
else
{
// Loop durante n segundos
for (float i = 0; i <= 1; i += Time.deltaTime)
{
// Establecer el color con i como alfa
img.color = new Color(1, 1, 1, i);
yield return null;
}
}
}
#endregion
}
/// <summary>
/// <para>Tipo de Fade</para>
/// </summary>
public enum TipoFade// Tipo de Fade
{
In,
Out
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment