Unity Button.Image.Color不会“刷新”[重复]

问题描述 投票:1回答:2

这个问题在这里已有答案:

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

这是我非常简单的代码:

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

所以这条线完美地运行了......现在,我试图用这个,同样简单的代码行使用我自己的颜色:

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

好吧,颜色实际上会改变......而不会改变......让我们在游戏运行时引用对象本身:

My button / my color

正如您所看到的,颜色发生了变化,但仍保持白色。

我看过这里的很多帖子,但看起来我做得对,很明显有一个错误,否则它会工作正常,但即使看了很多帖子后,似乎我也看不到我自己的解决方案。

image unity3d button colors rgb
2个回答
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
投票

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

只是为了添加你的答案,我发现Color32是我应该使用的那个,因为它需要0到255的值。

再次感谢有一个美好的一天!

© www.soinside.com 2019 - 2024. All rights reserved.