场景过渡效果

1.创建一个RawImage,命名为BlackToClear
2.添加脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace ElectricPower.WindPower
{
public class FadeInOut : MonoBehaviour
{
public bool isBack = false;//不透明状态
public float fadeSpeed = 2.0f;
public RawImage BlackrawImage;
public RectTransform rectTransform;

    void Start()
    {
        isBack = false;
        rectTransform.sizeDelta = new Vector2(Screen.width, Screen.height);//使背景满屏
        BlackrawImage.color = Color.black;
    }

    void Update()
    {
        if (isBack == false)
        {
            BlackrawImage.color = Color.Lerp(BlackrawImage.color, Color.clear, Time.deltaTime*fadeSpeed*0.5f);
            if (BlackrawImage.color.a < 0.01f)
            {
                BlackrawImage.color = Color.clear;
            }
        }
        else if (isBack)
        {
            BlackrawImage.color = Color.Lerp(BlackrawImage.color, Color.black, Time.deltaTime * fadeSpeed);
            if (BlackrawImage.color.a < 0.99f)
            {
                BlackrawImage.color = Color.black;
            }
        }
    }
    //切换状态
    public void BackGroundControl(bool b)
    {
        if (b == true)
        {
            isBack = true;
        }
        else
        {
            isBack = false;
        }
    }
}

}

posted @ 2020-11-02 16:42  一路繁华的夏ˇ  阅读(55)  评论(0)    收藏  举报