无法转换隐式类型

时间:2014-11-25 19:56:32

标签: c# unity3d implicit-conversion

我正在尝试以统一方式编写游戏,但以下几行中存在错误

public TriggerAnim Instance;
Instance = GetComponentsInChildren <TriggerAnim> ();

TriggerAnim是一个附加到我的hirarchy中的孩子的脚本。 但它将错误消息生成为 - &gt;

 error CS0029: Cannot implicitly convert type `TriggerAnim[]' to `TriggerAnim'

请提示出现此错误的任何可能原因。 编程语言是c#。 在此先感谢

2 个答案:

答案 0 :(得分:1)

您正在调用的方法是返回一个'TriggerAnim'对象数组。你需要

public TriggerAnim[] Instance = GetComponentsChildren<TriggerAnim>();

// This would select the First TriggerAnim object depending on some condition you must specify
public TriggerAnim Instance = GetComponentsChildren<TriggerAnim>().First( x = > ...);

您选择的内容取决于用例。

答案 1 :(得分:1)

方法`GetComponentsInChildren'返回一个数组。如果您只想使用一个子组件

GetComponentInChild<TriggerAnim>();

如果您想将数组存储在变量中,请使用

public TriggerAnim[] Instance代替public TriggerAnim Instance