在Unity with C#中,我试图从预制件实例化并将脚本分配给新对象 . 为此,我相信我需要将新对象转换为GameObject . 但是,Instantiate的返回类型是UnityEngine.Object
来自Unity manual:
public GameObject wreck;
...
void KillSelf () (
...
GameObject wreckClone = (GameObject) Instantiate(wreck, transform.position, transform.rotation);
但是,这会导致InvalidCastException . 我在这个论坛上看到它提到试试这个:
UnityEngine.Object uo = Instantiate(...
GameObject go = (GameObject)go;
然而,这会导致相同的例外 .
我看过一些帖子暗示试图施放:
...Instantiate(...) as GameObject;
但是,编译器似乎不支持此语法 .
这非常令人困惑 . 我正在从(大概是正确的)手册和堆栈溢出答案中复制一小段代码,它们似乎没有起作用 .
我不确定哪些信息可以帮助解决这个难题,所以请问我需要什么 .
到目前为止,我已尝试在尝试转换之前记录实例化的对象 . 它显示为ThrownFood(克隆)(UnityEngine.transform) . 我不知道为什么会说改造 . 我没有任何东西告诉它被转换为变换 .