我有一个不活动的GameObject,即emptyShape1,我创建了一个返回字符串的函数,即emptyShape1。
我尝试使用强制转换将该字符串转换为GameObject
(GameObject)emptyShape1
这样我可以激活emptyShape1 GameObject,但是它给我一个错误提示
无法将字符串转换为Unity.GameObject
我尝试使用GameObject.Find(emptyShape1),但它也给我一个错误提示
对象引用未设置为对象的实例
找到emptyShape1字符串或将其转换为GameObject的有效方法是什么?
答案 0 :(得分:0)
编辑:我误会了,您想找到一个具有特定名称的非活动GameObject。我认为您不能使用GameObject.Find来做到这一点,如果您有其父对象,就可以找到它。
parent.transform.Find("emptyShape1");
旧答案:
如何创建具有特定名称的GameObject并将其禁用:
GameObject emptyGameObject = new GameObject(enemyShape1);
emptyGameObject.setActive(false);
答案 1 :(得分:-1)
您可以找到所有带有Resources.FindObjectsOfTypeAll<SomeType>();
并返回一个数组的对象,然后查找具有名称的对象-但这是一个昂贵的调用。不能更改您的代码以保留要回调的禁用项目列表吗?