使用GUI按钮统一改变精灵颜色

时间:2017-09-25 01:55:06

标签: c# unity3d

我正在创建一个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,这是我的一点背景,谢谢!

1 个答案:

答案 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;