在实际应用过程中,经常有需要将某一物体颜色修改成特定颜色的情况,此时Color中自带的颜色就不够用了,此时我们就需要通过用代码修改RGB值来控制颜色。
常见的错误写法
下面以修改TextMeshProUGUI的字体颜色为例
e.target.GetChild(0).GetComponent<TextMeshProUGUI>().color = new Color(37, 169, 196, 255);
这样直接运行,无论Color后的括号里是什么样的参数,字体颜色大概率为白色。
正确的写法
e.target.GetChild(0).GetComponent<TextMeshProUGUI>().color =
new Color(37 / 255f, 169 / 255f, 196 / 255f, 255 / 255f);
我们在Color面板中可以看到,RGBA的值最大为225。文章来源:https://www.toymoban.com/news/detail-508523.html
- R:Red,红。
- G:Green,绿。
- B:Blue,蓝。
- A:Apha,透明度。
因此我们在设置参数的时候,每个值后面都得除225,且RGBA的值为float类型,需要在225后加f,即
“/ 225f”。如果不加f,在VS上是看不到错误的,但在Unity中Color的值会变为0,0,0,0。文章来源地址https://www.toymoban.com/news/detail-508523.html
希望这些可以帮助到你
到了这里,关于Unity3D通过代码修改RGB值来控制UI与物体的Color颜色的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!