Referanslar Bulmaktan İyidir
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 45 / 67.
Bir betik başka bir nesneye dört yolla erişebilir: Inspector'da ayarlanan bir alan, ada göre GameObject.Find, etiket araması veya türe göre FindAnyObjectByType. Başlangıçtan itibaren sahnede bulunan bir nesne için Unity kodu, üç nedenden dolayı Inspector alanını kullanır:
- Hız. Başlamadan önce başvuru doldurulur. Her arama sahnedeki nesneleri tarar ve
Update()içindeki bir arama bunu her karede yapar. - Güvenlik. Bir dizedeki ad, biri nesneyi yeniden adlandırdığında bozulur: Find
nulldöndürür ve hata daha sonra, onu kullanan satırda ortaya çıkar. Boş bir Inspector alanı, alanın ve betiğin adını belirten UnassignedReferenceException hatasına neden olur. - Açıklık. Inspector, bir betiğin nelere bağlı olduğunu gösterir. Bir Find çağrısı bunu kodun içine gizler.
// Inspector'da bir kez ayarlanır: arama yapılmaz ve yeniden adlandırma hiçbir şeyi değiştirmez
[SerializeField] private Transform door;
// her karede aranır ve kapı yeniden adlandırıldıktan sonra null olur
void Update()
{
Transform d = GameObject.Find("Door").transform;
}Aramaların kullanılması gereken yerler vardır: oyun çalışırken oluşturulanlar gibi yalnızca oyun başladıktan sonra var olan nesneler ve herhangi bir sahnede çalışması gereken betikler. Bu durumda bile Start() içinde bir kez arama yapıp sonucu bir alanda saklayın.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler
1İlk Betiğiniz
Merhaba, UnityKüpü YerleştirHer Karede Hareket EtHer Saniye DönTuşlarla Yön VerÖzet: Küpü Sür4Vektörler
Vektörleri ToplamaYönlerYerel ve Dünya UzayıÇapraz HızNesneler Arasındaki MesafeVector3 Bir YapıdırÖzet: Drone Pilotu7Proje: Yıldızı Yakala
YakalayıcıDüşen Bir Yıldız5Dönüşümler ve Hiyerarşi
Ebeveynler ve ÇocuklarÖlçekNesnelere BakışBir Noktaya Doğru HareketTekrar: Yörüngedeki Ay8Nesneleri Bulma
Ada Göre BulEtiketlerTüre Göre BulReferanslar Bulmaktan İyidirUnity'de NullÖzet: En Yakın Madeni Para6GameObject'ler ve Bileşenler
Inspector'daki ReferanslarBir Bileşen AlEksik BileşenlerBir Bileşen EkleRequireComponentGöster ve GizleÖzet: Işık Anahtarı