淡入淡出GUI.Box

本文关键字:Box GUI 淡出 淡入 | 更新日期: 2023-09-27 18:18:09

如何淡入和淡出GUI.Box?我试着搜索,但只能找到如何淡出文本。

void OnGUI()
{
    GUI.Box(new Rect(20, 20, 300, 100), "Find pH of paper");
}

淡入淡出GUI.Box

由于Unity的新GUI系统,不建议使用OnGUI功能。

无论如何,GUI类提供了一个静态属性GUI. backgroundcolor

简单地设置颜色随时间的值。但是,我不知道alpha是否会被OnGUI函数考虑在内。

下面是一个这样做的例子:

private void Update()
{
     GUI.backgroundColor = Color.Lerp(Color.white, Color.clear, Mathf.PingPong(Time.time, 1));
}

如果你想在用户做一个动作时开始淡出,你也可以使用协程。

private IEnumerator FadeIn( float duration = 1 )
{
     for( float t = 0 ; t < duration ; t += Time.deltaTime )
     {
          GUI.backgroundColor = Color.Lerp(Color.clear, Color.white, t / duration);
          yield return null ;
     }
}

使用UGUI系统更容易、更干净、更快。改变精灵的颜色,或者画布组的alpha值都是小菜一碟!