2017-09-25 67 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;