在 Unity 中获取游戏对象的所有组件的列表

Gor*_*rid 6 c# unity-game-engine

比如说,我的场景中有一个游戏对象,它有 12 个组件。其中一些组件可能属于同一类型:例如,这个游戏对象可能有两个音频源。现在,我想向这个游戏对象添加一个 C# 脚本,它收集所有这些组件的名称(在列表中?),并在控制台中打印出来。我怎样才能做到这一点?

GLE*_*LES 8

使用GetComponents方法获取组件数组,如下所示。

Component[] components = gameObject.GetComponents(typeof(Component));
foreach(Component component in components) {
    Debug.Log(component.ToString());
}
Run Code Online (Sandbox Code Playgroud)

这还将显示添加到 GameObject


Rya*_*nas 5

像这样的东西?

    Component[] components = GetComponents(typeof(Component));
    for(int i = 0; i < components.Length; i++)
    {
        Debug.Log(components[i].name);
    }
Run Code Online (Sandbox Code Playgroud)

  • 这一遍又一遍地打印出父级的名称,而不是组件名称 (2认同)