📅  最后修改于: 2021-01-11 13:30:40             🧑  作者: Mango
GameObject是Unity编辑器中最重要的东西。游戏中的每个对象都是一个GameObject。这意味着您认为所有包含在您的游戏中的东西都必须是GameObject。但是,GameObject不能自己做任何事情;您必须先赋予它属性,才能使其成为字符,环境或特殊效果。
GameObject是一个容器;我们必须向GameObject容器中添加片段,以使其变成字符,树,灯光,声音或您想要的其他任何形式。每一块称为一个组件。
根据您要创建的对象类型,将不同的组件组合添加到GameObject。您可以将GameObject与一个空锅和具有不同成分的组成部分进行比较,以构成您的游戏玩法。 Unity具有许多不同的内置组件类型,您还可以使用Unity Scripting API制作自己的组件。
要记住的三个要点:
有些游戏可以处理场景中的许多对象,但是我们也可以在玩游戏时创建和删除宝藏,字符和其他对象。
在Unity中,我们可以使用Instantiate函数创建一个GameObject,该函数将创建一个现有对象的新副本:
public GameObject enemy;
void Start() {
for (int i = 0; i < 6; i++) {
Instantiate(enemy);
}
}
Unity还可以提供销毁功能,该销毁函数用于在帧更新完成后或经过短暂的延迟后销毁对象:
void OnCollisionEnter(Collision otherObj) {
if (otherObj.gameObject.tag == "Missile") {
Destroy(gameObject,.5f);
}
}
请注意,销毁函数还用于销毁单个组件,而不会影响GameObject本身。一个常见的错误是编写如下内容:
Destroy(this);