Unity3D–通过携程控制跳转场景的渐隐渐现
1:创建UI–image,再设置锚点,alt+鼠标左键,把图片铺满
2:image 下挂载脚本
2.1:变量和引用命名空间
using UnityEngine;
using UnityEngine.UI;//ui
using UnityEngine.SceneManagement;//跳转场景
using System.Collections;//携程
using System.Collections.Generic;//携程
public Image blackImage; //背景图片
[SerializeField] private float alpha; //color 的 A值 (0~1)范围内
2.2:携程—渐现
IEnumerator FadeIn()//渐现
{
alpha = 1;
while(true)
{
alpha -= Time.deltaTime*0.2f;
blackImage.color = new Color(0, 0, 0, alpha);
yield return new WaitForSeconds(0); //等待一秒钟执行下一个函数
}
}
2.3携程—渐隐
IEnumerator FadeOut(int t)//渐隐
{
alpha = 0;
while (alpha<1)
{
alpha += Time.deltaTime*0.2f;
blackImage.color = new Color(0, 0, 0, alpha);
yield return null;
}
SceneManager.LoadScene(t);//切换场景
}
2.4:Start(方法内开启携程–控制开始进入场景–渐现)
private void Start()
{
StartCoroutine(FadeIn());//调用协程方式二 :StartCoroutine("FadeIn")
}
2.5 封装退出场景函数—渐隐
public void FadeTo(int t)
{
StartCoroutine(FadeOut(t));
}
2.6:类外调用渐隐函数
方法一:
private Fade_Control fader; //对渐隐渐现的持有
fader = GameObject.FindGameObjectWithTag(Tags.fader).GetComponent<Fade_Control>();//获得组件
fader.FadeTo(2);//调用--跳转场景
方法二
FindObjectOfType<Fade_Control>().FadeTo(2);//查找类的方式调用