可以使用以下代码来实现:

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完全不透明。

使用Unity控制UI控件Image的显隐参数使其慢慢的从透明变成不透明 其中时间由TimeManagercurrentTime01来控制该参数变成1的时候就是变成不透明的时候 用协程来实现

原文地址: http://www.cveoy.top/t/topic/bPtb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录