Component.GetComponent
Declaration
public T GetComponent();Возвращаемое значение
T Ссылка на компонент типа T, если таковой найден, в противном случае null.
Описание
Получает ссылку на компонент типа T на том же GameObject, что и указанный компонент.
Типичным использованием этого метода является вызов его из скрипта MonoBehaviour (который сам по себе является типом компонента), чтобы найти ссылки на другие Компоненты или MonoBehaviours, присоединенные к тому же GameObject, что и этот скрипт. В этом случае вы можете вызвать метод без указания предшествующего объекта. Например:myResults = GetComponent<ComponentType>()
Вы также можете вызвать этот метод по ссылке на другой компонент, который может быть прикреплен к другому GameObject. В этом случае, GameObject, к которому прикреплен этот компонент, будет поискан. Например:myResults = otherComponent.GetComponent<ComponentType>()
Обратите внимание: GetComponent возвращает только первый соответствующий компонент, найденный на GameObject, на котором она вызвана, и порядок проверки компонентов не определен. Поэтому, если существует более одного указанного типа, который может соответствовать, и вам нужно найти конкретный, вы должны использовать Component.GetComponents и проверить список возвращенных компонентов, чтобы определить тот, который вы хотите.
Чтобы найти компоненты, прикрепленные к другим GameObjects, вам нужно ссылка на это другое GameObject (или любой компонент, прикрепленный к этому GameObject). Затем вы можете вызвать GetComponent на эту ссылку.
См. Component и GameObject справочные страницы класса, описывающие другие варианты GetComponent семейство методов.
Следующий пример получает ссылку на компонент соединения шарнира на том же GameObject, что и скрипт, и, если найдена, устанавливает свойство для этого компонента соединения шарнира.
using UnityEngine;
public class GetComponentExample : MonoBehaviour { void Start() { HingeJoint hinge = GetComponent<HingeJoint>();
if (hinge != null) { hinge.useSpring = false; } } }
Обратите внимание: Если запрашиваемый тип является производным от MonoBehaviour и связанный с ним скрипт не может быть загружен, то эта функция возвратит `null` для этого компонента.
Declaration
public Component GetComponent(Type type);Параметры
| Параметр | Описание |
|---|---|
| тип | type из Компонента для получения. |
Возвращаемое значение
Компонент Компонент соответствующего type, в противном случае null, если Компонент не найден.
Описание
Нетиповая версия этого метода.
Эта версия GetComponent не столь эффективна, как версия Generic (выше), так что вы должны использовать ее только в случае необходимости.
using UnityEngine;
public class GetComponentExample : MonoBehaviour { void Start() { HingeJoint hinge = gameObject.GetComponent(typeof(HingeJoint)) as HingeJoint;
if (hinge != null) { hinge.useSpring = false; } } }
Declaration
public Component GetComponent(string type);Параметры
| Параметр | Описание |
|---|---|
| тип | Имя type компонента, который нужно получить. |
Возвращаемое значение
Компонент Компонент соответствующего type, в противном случае null, если Компонент не найден.
Описание
Струнная версия этого метода.
Эта версия GetComponent не столь эффективна, как версия Generic (выше), так что вы должны использовать ее только в случае необходимости.
using UnityEngine;
public class GetComponentExample : MonoBehaviour { void Start() { HingeJoint hinge = GetComponent("HingeJoint") as HingeJoint;
if (hinge != null) { hinge.useSpring = false; } } }