使用Unity控制UI控件Image的显隐参数使其慢慢的从透明变成不透明 其中时间由TimeManagercurrentTime01来控制该参数变成1的时候就是变成不透明的时候 用协程来实现
可以使用以下代码来实现:
using UnityEngine;
using UnityEngine.UI;
public class ImageController : MonoBehaviour
{
public Image image;
private void Start()
{
StartCoroutine(FadeIn());
}
private IEnumerator FadeIn()
{
float elapsedTime = 0f;
Color color = image.color;
color.a = 0f;
image.color = color;
while (elapsedTime < TimeManager.currentTime01)
{
elapsedTime += Time.deltaTime;
color.a = Mathf.Lerp(0f, 1f, elapsedTime / TimeManager.currentTime01);
image.color = color;
yield return null;
}
color.a = 1f;
image.color = color;
}
}
在代码中,我们首先在Start()方法中启动协程FadeIn()。在FadeIn()方法中,我们使用elapsedTime来计算当前已经过去的时间,然后使用Mathf.Lerp()方法来计算当前透明度的值,最后将该值赋给Image的颜色的alpha通道。
在while循环中,我们将当前透明度的值从0f渐变到1f,直到达到TimeManager.currentTime01。最后,我们将透明度的值设置为1f,使Image完全不透明。
原文地址: http://www.cveoy.top/t/topic/bPtb 著作权归作者所有。请勿转载和采集!