【问题标题】:Change transparency of images更改图像的透明度
【发布时间】:2021-06-29 15:33:15
【问题描述】:

希望你今天过得愉快!

在我的游戏中,我有一些图像,我想随着时间的推移改变它们的透明度(比如 5 秒直到它们完全可见)。 我找到了一种通过按键而不是图像来为精灵渲染器执行此操作的方法,我想自动执行它。 所以不像GameObject.setActive(true/false),而是真的随着时间的推移。

希望有人能帮帮我:)

热烈的问候

【问题讨论】:

  • 这可能有帮助吗(stackoverflow.com/questions/1829339/…)?当您说图像时,您是指 PictureBox/BitMap 还是?
  • var color = image.material.color; color.a = 0.5f; image.material.color = color; ?
  • 您的确切问题是什么:如何设置 Image 的 alpha?如何随时间更改值? ...还是别的什么?
  • @Toby_TheBlock by Image 我猜 OP 指的是UnityEngine.UI.Image(因此是unity3d 标签);)
  • @derHugo Ups,错过了那个:P

标签: c# unity3d transparency


【解决方案1】:

对于 Unity,您必须在 Update() 中随着时间的推移实际褪色。但是您可以使用 Coroutine 使用颜色的 alpha 淡化图像。这对您的应用来说具有成本效益。

using System;
using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class Fade : MonoBehaviour 
{
    public Image image;

    //visible or invisible
    public float target = 0.0f;

    public float second = 2.0f;

    private void Start()
    {
        StartCoroutine(FadeImage((getImageDone) =>
        {
            if (getImageDone) 
            {
                //code after Fade visible 
            }
        }));
    }

    private IEnumerator FadeImage(Action<bool> action)
    {
        var alpha = image.color.a;
        for (var t = 0.0f; t < 1.0f; t += Time.deltaTime / second)
        {
            //change color as you want
            var newColor = new Color(1.0f, 1.0f, 1.0f, Mathf.Lerp(alpha, target , t));
            image.color = newColor;
            yield return null;
            action(image.color.a < 0.05f);
        }
    }

}

【讨论】:

  • 感谢您的回答!该代码似乎适用于图像的颜色,但在我的情况下,我指的是具有多种颜色的整个图像本身。还是我理解不正确? ?
  • 我将它应用到我的东西上,反之亦然:D 我需要它在几秒钟后淡入,我不知道必须更改哪个部分。怎么可能呢?我真的无法阅读代码,例如你如何设置时间直到它不可见。 Time.deltaTime / 2.0f 是否代表 2 秒? :D 我的意思是,我可以乱七八糟地改变值或
  • 不要重复实现相同的方法 ;) 而是有一个例程并根据给定参数决定开始和结束值
  • 我更改了代码,在@derHugo 的推荐下,我合并了两个函数。您可以控制第二个渐变值的变化速度。
  • @Big_F 它将改变整个图像的 alpha 值,您可以阅读 Unity 文档了解 Image 组件的工作原理,它会更有帮助。
猜你喜欢
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
  • 1970-01-01
  • 2016-09-02
  • 2016-12-02
  • 2012-09-18
相关资源
最近更新 更多