我正在创建一个Unity程序,我想使用GUI按钮来改变精灵的颜色。我的脚本中有以下代码,但我不确定如何更改颜色。
public GameObject WantedSprite;
private void DrawWindow(int windowID)
{
if (GUI.Button(new Rect(50, 150, 100, 50), "Change the Ball's color"))
{
var component = WantedSprite.GetComponent<Color>();
component.g = Random.Range(0, 255);
component.r = Random.Range(0, 255);
component.b = Random.Range(0, 255);
}
我正在学习Unity,这是我的一点背景,谢谢!
答案 0 :(得分:1)
你走在正确的轨道上......
您要引用的组件是游戏对象上的SpriteRenderer
。这可以访问并控制color
属性。
创建Color
的新实例并为其指定值(注意:如果精灵变为透明,您可能需要将.a
(alpha)属性设置为255。
一旦构造了颜色,就可以将SpriteRenderers颜色分配给新颜色。
SpriteRenderer component = WantedSprite.GetComponent<SpriteRenderer>();
Color newColor;
newColor.r = Random.Range(0.00f,1.00f);
newColor.g = Random.Range(0.00f,1.00f);
newColor.b = Random.Range(0.00f,1.00f);
newColor.a = 1;
component.color = newColor;