c# - Unity/C# 查找对象并获取组件

标签 c# unity3d gameobject

这应该很简单:

GameObject myCube = GameObject.Find("Cubey").GetComponent<GameObject>();

只是启动错误 CS0309:类型 UnityEngine.GameObject 必须可转换为 UnityEngine.Component 以便将其用作泛型类型或方法 UnityEngine.GameObject.GetComponent() 中的参数 T

通常 Unity 显示的错误很有用,但这只会让人感到困惑。立方体不是游戏对象吗?任何指针将不胜感激(没有双关语意)。

最佳答案

GameObject 不是组件。一个 GameObject 有一堆 Component 附加到它。

您可以去掉 GetComponent 调用,只使用 Find("Cubey") 的结果

GameObject myCube = GameObject.Find("Cubey");

关于c# - Unity/C# 查找对象并获取组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22048835/

相关文章:

c# - 为什么不在构造函数中设置值

c# - 窗口最小化后不恢复

c# - 增加和减少光照强度超时

c# - 新的统一输入系统中 GetKey 的等价物是什么?

c# - Unity3D - 获取组件

c# - 获得最近目标最有效的方法是什么

c# - Destroy() 在 Unity3D 中不再工作

c# - HasFlags 总是为枚举中的 None (0) 值返回 true

c# - 组合字符串时方法语法中的 Where 子句失败

ios - 在iOS App中, Controller 未点击屏幕右侧