2017-09-25 9 views
1

GUIボタンを使用してスプライトの色を変更する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); 
     } 

私はユニティを学んでいるので、私の背景の少しです、ありがとう!あなたは正しい軌道に乗っている

答えて

1

..

あなたが参照するコンポーネントは、ゲームオブジェクトにSpriteRendererです。これは、colorプロパティへのアクセス権を持ち、制御します。

Colorの新しいインスタンスを作成し、その値を割り当てます(注:スプライトが透明になる場合は.a(アルファ)プロパティも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; 
関連する問題