我遇到了脚本错误。但首先我正在做的事情。
我的文字很丰富,系统看起来应该是这样的。每一秒,新的不同颜色。但我编写了代码脚本并显示错误。像:
错误CS0619:
UnityEngine.Component.renderer' is obsolete:
已弃用属性渲染器。请改用GetComponent()。 (UnityUpgradable)'错误CS1061 :输入
UnityEngine.Component' does not contain a definition for
素材'并且没有扩展方法material' of type
UnityEngine.Component'可以找到(你错过了使用指令或程序集引用吗?)
脚本就是这个。
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;
}
}
}
答案 0 :(得分:1)
您不能再从Unity 5开始直接访问renderer.material.color
了。您必须先使用GetComponent<Renderer>();
获取GameObject的组件,然后才能访问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;
}
}