2017-10-09 104 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;