版本:Unity 6 (6000.0)
语言英语
  • C#

GameObject.GetComponentCount

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每一项更改建议,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public int GetComponentCount();

返回值

int GameObject 上组件的数量,以整数形式表示。

描述

检索当前附加到 GameObject 的所有组件总数。

您可以使用 GetComponentCount 来遍历组件索引,这在与 GameObject.GetComponentAtIndex 一起使用时尤其方便。例如,您可以遍历索引以查找您感兴趣的特定组件的索引,然后保存该索引以供将来使用。

using UnityEngine;

public class IterateComponents : MonoBehaviour { int m_SavedComponentIndex = -1;

void Start() { //Iterate through components on the GameObject for (int i = 0; i < gameObject.GetComponentCount(); i++) { var currComponent = gameObject.GetComponentAtIndex(i); //Check if it is a Rigidbody component if (currComponent.GetType() == typeof(Rigidbody) ) { m_SavedComponentIndex = i; } }

Debug.Log(m_SavedComponentIndex != -1 ? $"Found component at index: {m_SavedComponentIndex}" : "Could not find component"); } }