2017-09-25 61 views
1

我正在创建一个Unity程序,我想使用GUI按钮来更改精灵的颜色。我在脚本中有以下代码,但我不知道如何更改颜色。使用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

你在正确的轨道上..

要引用的组件是游戏对象的SpriteRenderer。这有权访问并控制color属性。

使Color一个新实例,并指定它的值(注:您可能需要设置.a(阿尔法)财产所有权以及255,如果精灵变透明)。

构建完颜色后,可以将SpriteRenderer颜色分配给新颜色。

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;