Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

GameObject.Find

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public static function Find(name: string): GameObject;
public static GameObject Find(string name);

Параметры

Описание

Находит объект с именем name и возвращает его.

Если объект с именем name не будет найден, то будет возвращен null. Если имя name содержит символ '/', то будет произведен обход иерархии, как если бы вместо имени был указан путь. Эта функция возвращает только активные gameobject'ы.

Из соображений по производительности не рекомендуется использовать эту функцию каждый кадр, вместо этого, при запуске кэшируйте (храните) результат функции в поле или используйте 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"); } }

Эта функция очень полезна для автоматического задания ссылок на другие объекты во время загрузки, например, внутри функции MonoBehaviour.Awake или MonoBehaviour.Start Из соображений по производительности, следует избегать вызовов этой функции на каждом кадре, например, внутри MonoBehaviour.Update. Общий подход состоит в следующем: переменной назначается игровой объект внутри функции MonoBehaviour.Start, а в функции 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); } }