Inspector'daki Referanslar
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 43 / 85.
Bir alan başka bir nesneyi tutabilir. Ona Transform veya GameObject gibi bir tür ver; Inspector, Hiyerarşi'den bir nesneyi sürükleyip üzerine bırakarak doldurabileceğin boş bir yuva gösterir. Bu kamera betiği, player alanına sürüklenen nesneyi izler ve onun 3 birim üstünde, 6 birim arkasında kalır:
public Transform player;
void Update()
{
transform.position = player.position + new Vector3(0, 3, -6);
}Boş bırakılan bir yuvada Yok görünür ve onu kullanan ilk satır her karede şu hatayı verir: UnassignedReferenceException: The variable player of CameraFollow has not been assigned. İleti içindeki sonraki satır ne yapman gerektiğini söyler: You probably need to assign the player variable of the CameraFollow script in the inspector. Alanı ve betiği adlandırdığı için hangi yuvayı doldurman gerektiğini bilirsin.
Bazı betikler yuva boşken de çalışmalıdır. Unity, boş bir yuvanın null ile eşit sayılmasını sağlar; bu nedenle böyle bir betik, yuvayı kullanmadan önce kontrol eder. Update() içindeki satırın çevresine if (player != null) eklediğinde, oyuncusu olmayan kamera hata vermek yerine bulunduğu yerde kalır.
Görev
OrtaHer muhafızı, Inspector'ında belirtilen nöbet noktasına gönder.
public Transform post;alanını ekleyin. Guard1'in yuvasında Post1 bulunur; Guard2'ninki boştur.Update()içinde,post == nullolduğunda, nöbet noktası olmayan bir muhafız yerinde kalsın diyereturn;kullanın.- Ardından
Vector3.MoveTowards(transform.position, post.position, speed * Time.deltaTime)ile hareket ettirin.
“Oyna” düğmesine basın: Guard1 nöbet noktasına yürür, Guard2 ise bekler. Ardından “Kontrol et” düğmesine basın.
Kendin dene
using UnityEngine;
public class Guard : MonoBehaviour
{
// post: bu muhafızın yürüyerek gittiği Transform, Inspector'da ayarlanır
public float speed = 2f;
void Update()
{
// speed hızında post'a yürü. post alanı boş olan bir muhafız yerinde kalır.
}
}
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