unity中图片的淡入淡出

图片氛围两种(一种是在Canvas下的Image;一种是sprite)

  • 实现的思路:
    unity中图片的淡入淡出_第1张图片
    或者直接修改color.a
    unity中图片的淡入淡出_第2张图片
  • 实现过程
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;

public class UIFun : MonoBehaviour {
public Image BackImage;
public float AppearTime = 5f;//展示的时间
public float AppearTimeTrigger = 0f;//
public float FadeTime = 3f;
public float FadeTimeTrigger = 0f;
public bool Show = true;
// Use this for initialization
void Start() {
}

// Update is called once per frame
void Update() {

    AppearTimeTrigger += Time.deltaTime;//展示的时间不断增加
    if (AppearTimeTrigger > AppearTime)//当已到达临界点
    {
        if (FadeTimeTrigger >= 0 && FadeTimeTrigger < FadeTime)
        {
            FadeTimeTrigger += Time.deltaTime;
            if (Show)
            {

                BackImage.color = new Color(1, 1, 1, 1 - (FadeTimeTrigger / FadeTime));//淡出
            }
            else
            {
                BackImage.color = new Color(1, 1, 1, (FadeTimeTrigger / FadeTime));//淡入
            }
        }
    }
}

}
今天跑过来修改一下,因为有问题【2020.01.02】实现原理(alpha值从0到1的变换啦)
刚刚写了,又删了。既然自己已经走过弯路了,何必去祸害别人了,如果自己想实现原理,设定一个固定时间,设定一个监听,监听的数加到固定时间的时候再除以固定时间(换句话就是自己除以自己就得1)这个过程就是淡入。反过来理解,1减去上面慢慢接近1的数,这样就为0,就实现了淡出。【这个方法需要了解的,可以私信我】
【用插件吧】,有时候工作需要效率,快捷,用一行代码解决的问题,何必用十几行的了。using DG.Tweening;
在这里插入图片描述

你可能感兴趣的:(Unity)