📅  最后修改于: 2023-12-03 15:05:44.602000             🧑  作者: Mango
在 Unity 中,我们可以使用标记(tag)给物体进行分类,从而在程序中方便地获取某个分类下的所有物体。本文将介绍如何使用 C# 代码在 Unity 中获取所有指定标记的物体。
使用 GameObject.FindGameObjectsWithTag()
方法可以获取指定标记的所有物体。
public class GetObjectsByTag : MonoBehaviour
{
public string tagToFind;
void Start()
{
GameObject[] objectsWithTag = GameObject.FindGameObjectsWithTag(tagToFind);
// Do something with the objectsWithTag array
}
}
tagToFind
参数是需要查找的标记名称。
GameObject.FindGameObjectsWithTag()
方法返回一个 GameObject
数组,其中包含了所有指定标记的物体。
以下代码展示了如何获取标记为 “Player” 的所有物体:
public class GetPlayers : MonoBehaviour
{
void Start()
{
GameObject[] players = GameObject.FindGameObjectsWithTag("Player");
foreach (GameObject player in players)
{
Debug.Log(player.name);
}
}
}
输出:
Player 1
Player 2
Player 3
GameObject.FindGameObjectsWithTag()
方法时,Unity 必须首先加载所有场景并实例化所有物体,否则该方法将无法找到任何物体。