2017-10-09 106 views
-1

,我有3個錯誤,所有的課的老師是用單發展和它的工作完美地爲他(this.renderer.material.color)相同..顏色變化與輸入

public Color changedColor = Color.white; 
private Color originalColor = Color.white; 

void Awake() 
{ 
    originalColor = this.renderer.material.color; 
} 

void Update() 
{ 
    if (Input.GetKeyDown(KeyCode.G)) 
    { 
     this.renderer.material.color = changedColor; 
    } 
    else if (Input.GetKeyUp(KeyCode.G)) 
    { 
     this.renderer.material.color = originalColor; 
    } 
} 
} 
+1

你得到了什麼錯誤? –

+0

渲染應該寫成這樣(通過非本身固定): this.GetComponent ().material.color; – Sanived

+0

並改用'Input.GetKey'。 – Aybe

回答

2

由於MonoBehaviour.renderer已被幾個Unity版本棄用,以及其他屬性,如collideraudio,您會收到此錯誤。

Visual Studio提示您使用GetComponent<T>,因爲這是基於組件的遊戲引導Unity的全部功能,您可以從對象中附加和刪除組件以更改其外觀和行爲。

例如,你的情況,你想修改你的renderercolor。要更改它,首先從GameObject中檢索Renderer的實例。

Renderer r = this.GetComponent<Renderer>(); 

然後你就可以訪問你的渲染器的性能,如color

r.color = Color.red;