这个问题在这里已有答案:
今天早上我的Button.Image.Color出了问题
这是我非常简单的代码:
this.gameObject.GetComponent<Image>().color = Color.Red;
所以这条线完美地运行了......现在,我试图用这个,同样简单的代码行使用我自己的颜色:
this.gameObject.GetComponent<Image>().color = new Color(106, 174, 23);
好吧,颜色实际上会改变......而不会改变......让我们在游戏运行时引用对象本身:
正如您所看到的,颜色发生了变化,但仍保持白色。
我看过这里的很多帖子,但看起来我做得对,很明显有一个错误,否则它会工作正常,但即使看了很多帖子后,似乎我也看不到我自己的解决方案。
对于它的构造函数,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;
}
您好,感谢您的回答,确实Color需要从0到1的数字。
只是为了添加你的答案,我发现Color32是我应该使用的那个,因为它需要0到255的值。
再次感谢有一个美好的一天!