Unity GetComponent(字符串脚本)

时间:2017-07-03 16:32:45

标签: c# unity3d

我需要通过字符串变量从对象中获取组件。我该怎么办?

这是我目前的代码:

Canvas.GetComponent<Global_Variables>().Active_Figure.GetComponent(Script_Name).Cancel();

但是我在控制台中收到以下错误:

  

Assets / Scripts / Cell.cs(62,20):错误CS1061:输入UnityEngine.Component&#39;不包含取消&#39;的定义并且没有扩展方法取消&#39;类型为UnityEngine.Component&#39;

1 个答案:

答案 0 :(得分:1)

您必须转换GetComponent()返回的结果。

我将假设Cancel函数是在您的脚本继承(或实现)的名为Cancelable的类(或接口)中定义的。

Cancelable myScript = Canvas.GetComponent<Global_Variables>().Active_Figure.GetComponent(scriptName) as Cancelable;
myScript.Cancel();

编辑:

下次,不要忘记发布正确格式化的代码,并提供任何有助于解决问题的其他信息(例如控制台提供给您的错误)