Version: 2020.1

Component.GetComponent

切换到手册
public Component GetComponent (Type type);

参数

type 要检索的组件的类型。

描述

Returns the component of Type type if the GameObject has one attached, null if it doesn't. Will also return disabled components.

Component.GetComponent will return the first component that is found and the order is undefined. If you expect there to be more than one component of the same type, use Component.GetComponents instead, and cycle through the returned components testing for some unique property.

To get a component on a different GameObject, use GameObject.Find to get a reference to the other GameObject, and then use GameObject.GetComponent on the other GameObject.

using UnityEngine;

public class ScriptExample : MonoBehaviour { void Start() { // Disable the spring on the HingeJoint Component. HingeJoint hinge = gameObject.GetComponent(typeof(HingeJoint)) as HingeJoint; hinge.useSpring = false; } }

public T GetComponent ();

描述

Generic version of this method.

using UnityEngine;

public class ScriptExample : MonoBehaviour { void Start() { // Disable the spring on the HingeJoint Component. HingeJoint hinge = GetComponent<HingeJoint>(); hinge.useSpring = false; } }

public Component GetComponent (string type);

描述

Returns the component with name type if the GameObject has one attached, null if it doesn't.

It is better to use GetComponent with a Type instead of a string for performance reasons. Sometimes you might not be able to get to the type however, for example when trying to access a C# script from Javascript. In that case you can simply access the component by name instead of type.

using UnityEngine;

public class ScriptExample : MonoBehaviour { void Start() { // Disable the spring on the HingeJoint Component. HingeJoint hinge = GetComponent("HingeJoint") as HingeJoint; hinge.useSpring = false; } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961