Version: 5.4

GameObject.FindGameObjectsWithTag

매뉴얼로 전환
public static GameObject[] FindGameObjectsWithTag (string tag);

파라미터

tag The name of the tag to search GameObjects for.

설명

Returns a list of active GameObjects tagged tag. Returns empty array if no GameObject was found.

Tags must be declared in the tag manager before using them. A UnityException will be thrown if the tag does not exist or an empty string or null is passed as the tag.

// Instantiates respawnPrefab at the location 
// of all game objects tagged "Respawn".

using UnityEngine; using System.Collections;

public class ExampleClass : MonoBehaviour { public GameObject respawnPrefab; public GameObject[] respawns; void Start() { if (respawns == null) respawns = GameObject.FindGameObjectsWithTag("Respawn"); foreach (GameObject respawn in respawns) { Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation); } } }

Another example:

    // Find the name of the closest enemy
    
    GameObject FindClosestEnemy() {
        GameObject[] gos;
        gos = GameObject.FindGameObjectsWithTag("Enemy");
        GameObject closest = null;
        float distance = Mathf.Infinity;
        Vector3 position = transform.position;
        foreach (GameObject go in gos) {
            Vector3 diff = go.transform.position - position;
            float curDistance = diff.sqrMagnitude;
            if (curDistance < distance) {
                closest = go;
                distance = curDistance;
            }
        }
        return closest;
    }
}

Another example, testing for empty array:

// Search for game objects with a tag that is not used

function Start () { var gos : GameObject[]; gos = GameObject.FindGameObjectsWithTag("fred");

if (gos.length == 0) { Debug.Log("No game objects are tagged with fred"); } }