Component.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 bileşenle aynı GameObject üzerinde tür T'ye ait bir bileşene referans alır.

Bu metodun tipik kullanımı, bu komut dosyasıyla aynı GameObject'e eklenmiş diğer bileşenlere veya MonoBehaviour'lara referanslar bulmak için onu bir MonoBehaviour komut dosyasından (kendisi bir bileşen türüdür) çağırmaktır. Bu durumda, öncesinde bir nesne belirtilmeden metodu çağırabilirsiniz. Örneğin:

myResults = GetComponent<ComponentTürü>()

Ayrıca, farklı bir bileşene bağlı bir referans üzerinde de bu metodu çağırabilirsiniz, bu bileşen farklı bir GameObject'e bağlı olabilir. Bu durumda, o bileşenin bağlı olduğu GameObject aranır. Örneğin:

myResults = diğerComponent.GetComponent<ComponentTürü>()

Not: GetComponent, yalnızca çağrıldığı GameObject üzerinde bulunan ilk eşleşen bileşeni döndürür ve bileşenlerin kontrol edilme sırası tanımlı değildir. Bu nedenle, belirtilen türden birden fazla eşleşen bileşen varsa ve belirli bir tanesini bulmanız gerekiyorsa, Component.GetComponents kullanmalı ve istediğiniz bileşeni belirlemek için döndürülen bileşenler listesini kontrol etmelisiniz.

Diğer GameObject'lere bağlı bileşenleri bulmak için, başka bir GameObject'e (veya bu GameObject'e bağlı herhangi bir bileşene) bir referansa  ihtiyacınız vardır. Ardından, o referans üzerinde GetComponent'i çağırabilirsiniz.

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

Aşağıdaki örnek, komut dosyasıyla aynı GameObject üzerinde bir hinge joint bileşenine bir referans alır ve bulunursa, o hinge joint bileşeninde bir özellik ayarlar.

using UnityEngine;

public class GetComponentExample : MonoBehaviour
{
    void Start()
    {
        HingeJoint hinge = GetComponent<HingeJoint>();

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


Not: İstediğiniz tür, MonoBehaviour'dan türetilmiş bir tür ise ve ilişkili komut dosyası yüklenemiyorsa, bu işlev o bileşen için `null` değerini döndürecektir.



Deklarasyon

public Component GetComponent(Type type);

Parametreler

type         Alınacak Bileşenin türü.

Dönüş Değeri

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

Açıklama

Bu metodun genel olmayan versiyonu.

Bu GetComponent versiyonu (yukarıdaki genel versiyon) kadar verimli değildir, bu nedenle sadece gerektiğinde kullanmalısınız.

using UnityEngine;

public class GetComponentExample : MonoBehaviour
{
    void Start()
    {
        HingeJoint hinge = gameObject.GetComponent(typeof(HingeJoint)) as HingeJoint;

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



Deklarasyon

public Component GetComponent(string type);

Parametreler

type         Alınacak Bileşenin 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.

Bu GetComponent versiyonu (yukarıdaki genel versiyon) kadar verimli değildir, bu nedenle sadece gerektiğinde kullanmalısınız.

using UnityEngine;

public class GetComponentExample : MonoBehaviour
{
    void Start()
    {
        HingeJoint hinge = 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