Bileşen Ekle
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 46 / 85.
gameObject.AddComponent<T>(), oyun çalışırken nesneye T türünde yeni bir bileşen ekler ve sonraki satırlarda ayarlayabilmen için bileşeni döndürür. Bileşen GameObject'e aittir; bir betik ona gameObject üzerinden erişir. Bu kamp ateşi, oyun başladığında kendine sıcak turuncu bir ışık verir:
void Start()
{
Light glow = gameObject.AddComponent<Light>();
glow.color = new Color(1f, 0.5f, 0f);
glow.intensity = 2f;
}Bu şekilde eklenen bir bileşen, oyun çalıştığı sürece kalır. “Oyna”yı durdurduğunda nesne, Light bileşeni olmadan sahnenin kaydettiği hâline döner. Kendi betiklerin de bileşendir: gameObject.AddComponent<Spinner>(), diğer betikler gibi çalışmaya başlayan bir Spinner ekler.
Çoğu bileşen birden fazla kez eklenebilir, ancak bazıları eklenemez: bir nesne en fazla bir Rigidbody barındırabilir ve ikinci bir tane eklemeye çalışırsan bunun yerine Console'da Can't add component 'Rigidbody' uyarısı alırsın. Birden fazla kez çalışabilecek kod, bileşeni eklemeden önce nesnenin bu bileşene zaten sahip olup olmadığını kontrol eder.
Görev
OrtaBoşluk tuşuna basınca palmiye ağacı sallanır ve hindistan cevizi düşer.
Update()içinde,Input.GetKeyDown(KeyCode.Space)olduğundagameObject.AddComponent<Rigidbody>()ile bir Rigidbody ekle.- Yalnızca hindistan cevizinde henüz yoksa ekle:
!TryGetComponent(out Rigidbody rb). Boşluk tuşuna ikinci kez basıldığında ikinci bir Rigidbody eklenmez.
“Oyna” düğmesine bas ve Boşluk tuşuna bas: hindistan cevizi kuma düşer. Ardından “Kontrol et” düğmesine bas.
Kendin dene
using UnityEngine;
public class CoconutDrop : MonoBehaviour
{
void Update()
{
// Space: Hindistan cevizinde henüz bir Rigidbody yoksa ekle
}
}
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