script component.fw

Unity 2D Oyun Tasarımı Ders5 | Script ile Component Ayarları

Önce ki derse buradan erişebilirsiniz.

Unity 2D derslerinin 5. ile devam ediyoruz..
Oyunumuzun kalitesi açısından isteriz ki, istediğimiz zaman şu özellik çalışsın başka bir özellik çalışmasın..

Örneğin oyunumuzun 5. saniyesinde karakterimiz zıplasın 10. saniyesin de takla atsın gibi..
Bunun için “GameObject“imiz de bulunan “Component“lere istediğimiz zaman erişmemiz gerekir.

Component“e erişmemiz için kullanılan fonksiyon “GetComponent()“tir.
Şimdi örnek bir kod üzerinden bakalım Bkz: Resim1

Resim1 4
Resim1

Kodumuz:  

gameObject.GetComponent<Animator> ().enabled = false;

Sırasıyla bakalım:

gameObject” Dikkat edin “g” harfi küçüktür. bulunduğumuz objeyi temsil eder.
GetComponent” Bana “Component“i getir demektir.
<Animator>” bana “Animator Component“ini getir demektir
enabled” “Component“in aktif yahut pasif olma durumunu belirlemek için çağırılır.

false”  bir “bool” değeridir, olumsuzluğu yani burada ki kodumuz da kapatmayı gösterir..

Şimdi yapımıza tekrar bir göz atalım.. Tekrar iyidir.. Sizler de basit işlemler diye denememezlik yapmayın.

gameObject.GetComponent<ComponentAdı>().ComponentAyarı = DeğiştirmeKodu

Play” tuşuna bastığımız da animasyonumuzun oynamadığını görebiliriz.
Daha iyi anlaşılması için “Hierarchy” bölümünden karakterimize tıklayalım
Inspector” bölümünden ise “Animator Component“imizin yanında bulunan tik işaretinin olmadığını görebiliriz. Bkz: Resim2

Resim2 4
Resim2

Başka bir “Component” çağırarak konumuzu pekiştirelim. Bkz:  Resim3

Resim3 4

Burada ki kodumuz da ise “RigidBody2D Component“ini çağırıyoruz.
Buraya da dikkat RigidBody” değil “RigidBody2D“… “Script“, “RigidBody Component“ini bulamayacağı için hata verir, sizde nerede yanlış yaptım diye düşünürsünüz 🙂

Kodumuz:  

gameObject.GetComponent<Rigidbody2D> ().gravityScale = 0.1f;

Evet yine aynı şekilde “Component“imizi çağırıyoruz.
Component“imizin “gravityScale” ayarını çağırıyoruz
Ve parametreyi değiştiriyoruz.

Ondalık(float) bir değer girdiğimizde, değerin sonuna ‘f’  harfi ekliyoruz.
gravityScaleDers3 de işlemiştik.

Şimdi “Play” butonuna basarak oyunumuzu çalıştıralım
Klavyemizden ‘W’ yahut ‘Yukarı Üst’ tuşuna basalım.
Göreceğimiz şey Ay’ın yüzeyinde ki astronotlar gibi yerçekiminin düşük olduğu ortamdaymış gibi tepki verdiğidir.

Resim4 4
Resim4

Bugünlük dersimiz bu kadar olsun. GetComponent() ile siz de eklediğiniz farklı “Component“leri değiştirmeye çalışın.
Pratik yapmak her zaman iyidir..

Ve kodları lütfen ezberlemeyelim, mantığını anlamaya çalışalım.
Bir sonra ki ders de görüşmek üzere..

İletişim: admin@herseymi.com
Yazı oluşturuldu 96

Bir Yorum Yazın

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön