Referanslar Bulmaktan İyidir
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 59 / 85.
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.
Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler
1Unity'de C# Temelleri
Merhaba, UnityDeğişkenlerOndalık Sayılar için f GerekirKonsolda MetinHatırlayan DeğişkenlerEğer ve DeğilseSayıları KarşılaştırmaTekrar: Coin Collector4Girdi
Basılı, Basılı Tutulmuş, BırakılmışEksenlerAdlandırılmış DüğmelerFare DüğmeleriTekrar: Zıplama Yükleme7Döngüler ve Metotlar
for ile tekrarlamaİç içe döngülerBir metot yazmaYanıt veren metotlarDizilerTekrar: Merdiven10Nesneleri Bulma
Ada Göre BulEtiketlerTüre Göre BulReferanslar Bulmaktan İyidirUnity'de NullÖzet: En Yakın Madeni Para13Proje: Bloklardan Kaç
KoşucuGökyüzünden Bloklar5Vektörler
Vektörleri ToplamaYönlerYerel ve Dünya UzayıÇapraz HızNesneler Arasındaki MesafeVector3 Bir Struct'tırTekrar: Drone Pilotu8GameObject'ler ve Bileşenler
Inspector'daki ReferanslarBir Bileşen AlEksik BileşenlerBileşen EkleRequireComponentGöster ve GizleÖzet: Işık Anahtarı3Inspector
Inspector AlanlarıSerializeFieldOndalıklı Sayılar ve MathfInspector ÖzellikleriTekrar: Asansör6Dönüşümler ve Hiyerarşi
Ebeveynler ve ÇocuklarBayrağı Göndere ÇekÖlçekNesnelere BakBir Noktaya Doğru Hareket EtTekrar: Yörüngedeki Ay9Proje: Yıldızı Yakala
YakalayıcıDüşen Bir YıldızKendi başına pratik yap: Unity playground