📜  获取场景统一中的所有游戏对象 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:11:51.388000             🧑  作者: Mango

获取场景统一中的所有游戏对象 - TypeScript

在游戏开发中,经常需要获取当前场景中的所有游戏对象,用于进行特定操作,例如对所有敌人进行批量攻击或者销毁。

在 TypeScript 中,可以使用 Unity3D 引擎提供的 API 来获取场景统一中的所有游戏对象。

API
const allGameObjects = UnityEngine.SceneManagement.SceneManager.GetActiveScene().GetRootGameObjects();

以上代码中,GetActiveScene() 方法用于获取当前活动的场景对象,而 GetRootGameObjects() 方法则会返回当前场景中所有游戏对象的根节点数组。

示例
const allGameObjects = UnityEngine.SceneManagement.SceneManager.GetActiveScene().GetRootGameObjects();

allGameObjects.forEach((gameObject) => {
  console.log(gameObject.name);
});

以上代码将获取当前场景中所有游戏对象的名称并打印到控制台。您可以根据自己的需要,使用获取到的 GameObject 对象进行任何操作。

注意,在使用 GetRootGameObjects() 方法时,会返回场景中所有游戏对象的根节点。如果您需要获取所有子节点,可以进一步对根节点进行遍历操作,或使用 Unity3D 引擎提供的其他 API。

参考文档