2016-06-11 7 views
0

こんにちは私はスクリプトのためのいくつかのエラーがあります。たぶんあなたが助けることができます.OK ...UnityのC#エラー

私は自分のテキストをカラフルにしたいと思いました。しかし、スクリプトを作成すると、このようなエラーが発生しました。私たちを手伝ってくれますか ? Unityでエラーが発生しました。

エラーCS0619:UnityEngine.Component.renderer' is obsolete:プロパティレンダラーが廃止されました。代わりにGetComponent()を使用してください。 (UnityUpgradable ')

エラーCS1061:タイプUnityEngine.Component' does not contain a definition for材料' と何の拡張メソッドmaterial' of type UnityEngine.Componentは」(あなたがusingディレクティブまたはアセンブリ参照が不足している?)

そして、見つかりませんでしたスクリプト

using UnityEngine; 
using System.Collections; 

public class Colors : MonoBehaviour 

{ 
public float timer = 0.0f; 

void Start() 
{ 

} 


void Update() 
{ 
    timer += Time.deltaTime; 
    if (timer >= 2.0f)//change the float value here to change how long it takes to switch. 
    { 
     // pick a random color 
     Color newColor = new Color(Random.value, Random.value, Random.value, 1.0f); 
     // apply it on current object's material 
     renderer.material.color = newColor; 
     timer = 0; 
    } 


} 
} 
+1

エラーCS0619は明らかにあなたが何をすべきかを述べて:それはThank.Iをしようとする – TheDjentleman

答えて

0

Unity 5からはじめて直接renderer.material.colorにアクセスすることはできません。最初にGameObjectのコンポーネントを取得するには、GetComponent<Renderer>();を使用しなければなりません。次に、Rendererからマテリアルにアクセスできます。

public float timer = 0.0f; 
Renderer rd; 

void Start() 
{ 
    rd = gameObject.GetComponent<Renderer>(); 
} 


void Update() 
{ 
    timer += Time.deltaTime; 
    if (timer >= 2.0f)//change the float value here to change how long it takes to switch. 
    { 
     // pick a random color 
     Color newColor = new Color(Random.value, Random.value, Random.value, 1.0f); 
     // apply it on current object's material 
     rd.material.color = newColor; 

     timer = 0; 
    } 
} 
+0

を非推奨とされているように、代わりにレンダラのGetComponent ()を使用します。 – OneARMINAS

+0

"Text"ゲームオブジェクトには「Renderer」が付いていません。今何をする ? – OneARMINAS

+0

@OneARMINASそのエラーは何行ですか? – Programmer