"Instantiating" 继承自 GameObject 的自定义类型

"Instantiating" custom types that inherit from GameObject

我想"Instantiate"自定义类型到场景中。我通过这样做使它从 GameObject 继承:

Block.prototype = new GameObject();

所以,

-这行得通吗,它会继承自 GameObject 吗?

-我怎么能"Instantiate"呢?

感谢任何帮助,谢谢。

如果它的类型是 gameobject 你可以用它做一个 prefab 然后 instantiate 如果它不是 gameobject 那么你可以把它附加到一个gameObject 创建一个 prefab 然后实例化 gameobject 在检查器中分配 prefab 然后使用 Instantiate

public GameObject prefab;
GameObject obj = Instantiate(prefab);

你不应该继承 GameObject.

您需要继承MonoBehaviour

MonoBehaviour 继承后,将组件附加到游戏对象,您可以从 Unity 菜单 GameObject->Create Empty 创建它,然后将其拖放到项目视图中。这将创建一个 Prefab,您可以 Instantiate

要实例化一个游戏对象,您需要调用

Resources.Load("path_to_prefab")

预制件需要位于名为 Resources 的文件夹下。更多关于 Resources.Load here.