【发布时间】:2019-12-18 02:33:45
【问题描述】:
我正在尝试编写一个函数,单击更改按钮颜色会等待 1 秒,然后再次更改颜色
这是我写的:
public float showForSeconds = 1.0f;
public Button DoBut;
public void DoFunc()
{
StartCoroutine(DoTimer());
}
IEnumerator DoTimer()
{
ColorBlock colors = DoBut.colors;
colors.normalColor = new Color32(255, 0, 0, 255);
Debug.Log(colors.normalColor);
yield return new WaitForSeconds(showForSeconds);
Debug.Log("I'm back");
colors.normalColor = new Color32(255, 128, 128, 255);
Debug.Log(colors.normalColor);
}
它将颜色一次更改为 (255, 0, 0, 255) 等待 1 秒,但不会再次将颜色更改为 (255, 128, 128, 255)。
所有的 Debug.Log 都是正确的, 第一个调试是:RGBA(1.000, 0.000, 0.000, 1.000) 第二个调试是:我回来了 第三个调试是:RGBA(1.000, 0.502, 0.502, 1.000)
我做错了什么? :(
【问题讨论】:
-
我试图改变颜色的每一个功能:colors.normalColor = new Color32(255, 128, 128, 255); colors.selectedColor = new Color32(255, 128, 128, 255); colors.pressedColor = new Color32(255, 128, 128, 255); colors.highlightedColor = new Color32(255, 128, 128, 255);没有帮助。它仍然存在 (255, 0, 0, 255)