表达式表示变量、值为预期错误的类型
本文关键字:错误 类型 表示 变量 表达式 | 更新日期: 2023-09-27 18:36:18
我正在尝试使用以下代码统一更改某些材料的颜色:
public List<GameObject> targets = new List<GameObject>();
public string name;
public Color setToColor = Color.white;
public Color ChangeObjectMaterialColour()
{
foreach(GameObject t in targets)
if(t.renderer != null)
{
if(t.renderer.materials != null)
{
foreach(Material m in t.renderer.materials)
if(m.name.Equals(name))
m.color = setToColor;
}
}
return Color;
}
应该接收我要更改颜色的对象列表(我将存储在列表中)并将其更改为我指定的颜色。此代码存储在 serpeate 类中。
然后在我调用此方法的另一个类中,我执行以下操作:
private ChangeObjectColour colour;
if(hit.collider.gameObject.tag == "Colour1")
{
hit.collider.gameObject.renderer.material.color = colour.ChangeObjectMaterialColour();
}
但是,这导致了以下错误:
表达式表示
type', where a
变量",value' or
方法组"是预期的
当我单击它时,Unity 会在我的第一个方法结束时将我带到return Color;
。
我怎样才能打败这个错误?
确实:
return Color;
你打算返回什么Color
?这应该return setToColor;
吗?或者也许整个方法应该是void
的,而不是return
任何东西......