📅  最后修改于: 2023-12-03 15:11:51.388000             🧑  作者: Mango
在游戏开发中,经常需要获取当前场景中的所有游戏对象,用于进行特定操作,例如对所有敌人进行批量攻击或者销毁。
在 TypeScript 中,可以使用 Unity3D 引擎提供的 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。