GameObject.GetComponent

Deklarasyon

public T GetComponent();


Dönüş Değeri

T Eğer bulunursa, tür T'ye ait bir bileşene referans, aksi takdirde null.

Açıklama

Belirtilen GameObject üzerinde T türünde bir bileşenine referans alır.

Bu metodun tipik kullanımı, komut dosyanızın üzerinde olmadığı farklı bir GameObject'e referansla çağrılmasıdır. Örneğin:

myResults = otherGameObject.GetComponent<ComponentType>();

Ancak, bir MonoBehaviour sınıfı içinde kod yazıyorsanız, komut dosyanızın bağlı olduğu aynı GameObject'ten bir bileşen almak için önceki GameObject referansını atlayabilirsiniz. Bu durumda, aslında Component.GetComponent çağırıyorsunuz çünkü komut dosyasının kendisi bir bileşen türüdür, ancak sonuç, GameObject'i referans almış gibi aynıdır. Örneğin:

myResults = GetComponent<ComponentType>();

GetComponent, yalnızca çağrıldığı GameObject üzerinde bulunan ilk eşleşen bileşeni döndürür ve bileşenlerin kontrol edildiği sıra tanımlı değildir. Bu nedenle, eşleşebilecek birden fazla tür varsa ve belirli birini bulmanız gerekiyorsa, Component.GetComponents kullanmalı ve döndürülen bileşenler listesini kontrol etmelisiniz.

Diğer GameObject'lere bağlı bileşenleri bulmak için, o diğer GameObject'e (veya o GameObject'e bağlı herhangi bir bileşene) bir referansınız olmalıdır. Daha sonra bu referansta GetComponent çağırabilirsiniz.

GetComponent ailesinin diğer metod varyasyonları için Component ve GameObject sınıf referans sayfalarına bakın.

Aşağıdaki örnek, referans alınan GameObject üzerinde bir hinge joint bileşenine referans alır ve eğer bulunursa, o hinge joint bileşeni üzerinde bir özelliği ayarlar.

using UnityEngine;

public class GetComponentExample : MonoBehaviour
{
    public GameObject otherGameObject;

    void Start()
    {
        HingeJoint hinge = otherGameObject.GetComponent<HingeJoint>();

        if (hinge != null)
        {
            hinge.useSpring = false;
        }
    }
}


Not: İstediğiniz tür, MonoBehaviour'un bir türevi ise ve ilgili komut dosyası yüklenemiyorsa, bu fonksiyon o bileşen için `null` döndürecektir.



Deklarasyon

public Component GetComponent(Type type);


Parametreler

type Aranacak Bileşen türü.

Dönüş Değeri

Component type türünde bir Bileşen, aksi takdirde bulunamazsa null.

Açıklama

Bu metodun jenerik olmayan versiyonu.

GetComponent'in bu versiyonu, Jenerik versiyon (yukarıda) kadar verimli değildir, bu yüzden yalnızca gerekli olduğunda kullanmalısınız.

using UnityEngine;

public class GetComponentExample : MonoBehaviour
{
    public GameObject otherGameObject;

    void Start()
    {
        HingeJoint hinge = otherGameObject.GetComponent(typeof(HingeJoint)) as HingeJoint;

        if (hinge != null)
        {
            hinge.useSpring = false;
        }
    }
}



Deklarasyon

public Component GetComponent(string type);


Parametreler

type Aranacak Bileşen türünün adı.

Dönüş Değeri

Component type türünde bir Bileşen, aksi takdirde bulunamazsa null.

Açıklama

Bu metodun string tabanlı versiyonu.

GetComponent'in bu versiyonu, Jenerik versiyon (yukarıda) kadar verimli değildir, bu yüzden yalnızca gerekli olduğunda kullanmalısınız.

using UnityEngine;

public class GetComponentNonPerformantExample : MonoBehaviour
{
    public GameObject otherGameObject;

    void Start()
    {
        HingeJoint hinge = otherGameObject.GetComponent("HingeJoint") as HingeJoint;

        if (hinge != null)
        {
            hinge.useSpring = false;
        }
    }
}


Bu blog Unity Docs'un Türkçeye çevrilmiş halidir.

Yorumlar

Bu blogdaki popüler yayınlar

Important Classes - Vectors

RequireComponent

Important Classes - GameObject