C# 输入时的颜色变化
使用VisualStudio,我有3个错误,和第一课中的(this.renderer.material.color)一样,老师使用的是mono develop,它对他来说非常有效C# 输入时的颜色变化,c#,visual-studio,unity3d,C#,Visual Studio,Unity3d,使用VisualStudio,我有3个错误,和第一课中的(this.renderer.material.color)一样,老师使用的是mono develop,它对他来说非常有效 public Color changedColor = Color.white; private Color originalColor = Color.white; void Awake() { originalColor = this.renderer.material.color; } void Up
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;
}
}
}
您之所以会遇到此错误,是因为
monobhavior.renderer
与其他属性(如collider
或audio
)在几个Unity版本之前被弃用
Visual Studio提示您使用GetComponent
,因为这就是基于组件的游戏eninge Unity的全部内容,所以您可以从对象中附加和删除组件以更改其外观和行为
例如,在本例中,您希望修改渲染器的颜色。要更改它,首先从游戏对象中检索渲染器的实例
Renderer r = this.GetComponent<Renderer>();
出现了什么错误?render应该这样写(由untity本身修复):this.GetComponent().material.color;并改用Input.GetKey
。
r.color = Color.red;