Unity Button.Image.Color不会“刷新”

时间:2018-09-12 14:27:27

标签: image unity3d button colors rgb

今天早上我的Button.Image.Color有问题

这是我真正简单的代码:

this.gameObject.GetComponent<Image>().color = Color.Red;

所以这行代码完美地工作了...现在,我试图用同样的简单代码行在按钮上使用自己的颜色:

this.gameObject.GetComponent<Image>().color = new Color(106, 174, 23);

好吧,颜色实际上发生了变化...没有变化...让我们在游戏运行时引用对象本身:

My button / my color

如您所见,颜色改变了,但保持白色。

我在这里查看了很多帖子,但是看来我做得对,显然有一个错误,否则它可以正常工作,但是即使阅读了很多帖子,似乎我也看不到解决方案靠我自己。

2 个答案:

答案 0 :(得分:2)

Color的构造函数接受从0到1的浮点数。

您正在将它们设置为1(大于1的任何设置为1)。 1,1,1 =白色。

this.gameObject.GetComponent<Image>().color = new Color(0.415f, 0.682f, 0.09f);

这应该为您提供所需的结果。

数字是通过将值除以255生成的

或者,您也可以解析自己的十六进制值:

if(Color.TryParseHtmlString("#75BF1A", out myColor))
{
    this.gameObject.GetComponent<Image>().color = myColor;
}

答案 1 :(得分:1)

您好,感谢您的回答,确实Color需要从0到1的数字。

只需添加到您的答案中,我发现Color32是我应该使用的颜色,因为它需要使用0-255个值。

再次感谢您度过美好的一天!