Encuentra un game object según su name
y lo devuelve.
Si no se halla a ningún game object que tenga name
, retornará null.
Si name
contiene un caracter '/', recorrerá la jerarquía como un nombre de ruta.
Esta función solo devuelve gameobjects activos.
Por motivos de desempeño se recomienda no usar esta función en todos los frames.
En vez de ello, cachear el resultado en una variable miembro al inicio o utilizar GameObject.FindWithTag.
var hand : GameObject; // This will return the game object named Hand in the scene. hand = GameObject.Find("Hand");
// This will return the game object named Hand. // Hand must not have a parent in the hierarchy view! hand = GameObject.Find("/Hand");
// This will return the game object named Hand, // which is a child of Arm -> Monster. // Monster must not have a parent in the hierarchy view! hand = GameObject.Find("/Monster/Arm/Hand");
// This will return the game object named Hand, // which is a child of Arm -> Monster. // Monster may have a parent. hand = GameObject.Find("Monster/Arm/Hand");
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public GameObject hand; void Example() { hand = GameObject.Find("Hand"); hand = GameObject.Find("/Hand"); hand = GameObject.Find("/Monster/Arm/Hand"); hand = GameObject.Find("Monster/Arm/Hand"); } }
Esta función es útil para conectar automáticamente las referencias a otros objetos en tiempo de carga, p.ej. adentro de MonoBehaviour.Awake o de MonoBehaviour.Start. Se debe evitar llamar esta función en todos los frames (p.ej. MonoBehaviour.Update) por motivos de desempeño. Un patrón común es asignar un game object a una variable adentro de MonoBehaviour.Start, y usar esta variable en MonoBehaviour.Update.
// Find the hand inside Start and rotate it every frame private var hand : GameObject; function Start () { hand = GameObject.Find("/Monster/Arm/Hand"); } function Update () { hand.transform.Rotate(0, 100 * Time.deltaTime, 0); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { private GameObject hand; void Start() { hand = GameObject.Find("/Monster/Arm/Hand"); } void Update() { hand.transform.Rotate(0, 100 * Time.deltaTime, 0); } }