script.fw

Unity 2D Oyun Tasarımı Ders4 | Script’e Giriş

Önce ki derse buradan erişebilirsiniz.

Unity 2D derslerinin 4. ile devam ediyoruz..
Unity “Script”  e geçmeden önce her programlama dilinde olan 3 terimden bahsedeceğim

1:  “Değişkenler”  = Herhangi bir veriyi depolamak için kullanılır. Bkz: “Kodunu bir değişkene ata
2:    “Fonksiyonlar”  = Kod kümeleredir. Bir çok yerde kullanacağınız kodları bir fonksiyon içine yazarak, fonksiyonu çağırmanız yeterli olacaktır.
3:   “Sınıflar”  = Fonksiyonlardan oluşan “Script”  dosyaları diyebiliriz.

1. ders de söylediğim gibi, dersler C# üzerinden anlatılacaktır.
Bir “Script”  dosyası oluşturarak dersimize başlayalım.. Bkz: Resim1

Resim1 3
Resim1

Karşımıza “Start”  ve “Update”  olmak üzere iki adet boş bir script geliyor
Şimdi sırasıyla inceleyelim. Bkz:  Resim2

Resim2 3
Resim2

1:   Bu alana kütüphanelerimizi ekleriz. Başına “using”  ekleyerek
2:   Kullandığımız Sınıf, başında bulunan “public”  bu sınıfa diğer sınıflardan erişim sağlayabiliriz demektir.
public”  yerine “private”  yazarsak dışardan erişemeyiz demektir.

3:   Fonksiyonları “void”  ile belirtiriz başında “private”  olarak belirtmediğimiz her fonksiyon default olarak “public”  olarak gelmektedir.
Start” fonksiyonu oyunumuz başlar başlamaz çalışacak olan fonksiyondur.
Örnek bir Fonksiyon:

void FonksiyonAdı(Değer) {
                kodlar...
}

4:   “Update” fonksiyonu ise, her oyun karesinde(frame) bir kere çalışır. Saniyede bir kere scriptimize bakar da diyebiliriz.
Update” fonksiyonun iki modeli daha vardır bunlar:
FixedUpdate” her frame de birden çok kez çalışabilir.

LateUpdate” Update fonksiyonu gibi her frame de bir kez çalışır, lakin önce “Update” fonksiyonu çalışır daha sonra “LateUpdate” fonksiyonu çalışır.

İlk Kodumuzu yazalım!! Bir “GameObject“i hareket ettirmemiz için öncellikle kodumuzun her saniye takip edilmesi lazım bu yüzden “Update” fonksiyonunun içine yazacağız.
Daha sonra objemizin konum(transform) pozisyonunu ayarlamamız gerekiyor.

Oyun tasarlarken yahut model yaparken bilmeniz gerek şey 3 eksenimiz bulunur
Bunlar:

“X” ekseni objenizin sağını ve solunu(Yatay)
“Y” ekseni objenizin yukarı ve aşağı(Dikey)
“Z” ekseni ise derinliğini belirtir..
2D bir oyun tasarladığımız için “Z” eksenini kullanmayacağız. Bkz: Resim3

Resim3 3
Resim3

Transform”  komutunun “Translate” fonksiyonunu çağırarak objemizi hareket ettirebiliriz

Kodumuz:   

transform.Translate(Input.GetAxis("Horizontal"),  Input.GetAxis("Vertical"), 0);

transform.Translate komutu için örnek bir kod:

transform.Translate(Xekseni,Yekseni,Zekseni);

Kodumuzu yazarken mutlaka sonuna “;” işaretini koymayı unutmuyoruz
Sadece fonksiyonlarımızın sonuna “;” koymayız, kod parçacıkları “;” ile biter.

Input.GetAxis komutu klavyedeki yön tuşlarına bakar.
Horizontal” ise sağ, sol ok tuşu veya A,D harf tuşlarına bakar.
Verical” ise yukarı, aşağı ok tuşu veya W,S harf tuşlarına bakar.

Kodumuza tekrar baktığımız da“X” eksenine Horizontal “Y” eksenine Vertical  “Z” eksenine ise 0 değerlerini verdiğimizi görebiliriz. (Z eksenini kullanmadığımız için 0 değeri almıştır)
Yazılan kod Bkz: Resim4

Resim4 3
Resim4

Şimdi “Script“imizi “GameObject“imize dahil edelim..
Project” kısmında bulunan “Script“imizi sürükleyerek “GameObject“imizin “Inspector” penceresine bırakıyoruz. Bkz: Resim5

Resim5 2
Resim5

Karakterimiz uzay boşluğunda düşmesin diye boş bir”GameObject” oluşturuyoruz,
BoxCollider2D” ekliyoruz ve “Collider” boyutunu Resim6‘daki gibi ayarlıyoruz

Daha sonra çalışma alanımızın üst tarafında bulunan “Play” butonuna tıklayarak oyunumuzu çalıştırıyoruz.

Resim6 1
Resim6

Görüyoruz ki karakterimiz çok hızlı hareket etmek de, bu yüzden hızını kendimiz belirtiyoruz.

Değişken” terimini öğrenmiştir şimdi bir değişken oluşturalım Bkz: Resim7

Resim7
Resim7

Değişken oluşturma Örn:  
public DegiskenTipi DegiskenIsmi;

float” parametresi ondalık sayılar için kullanılır (1.5f, 5.2f, 10.7f)
int” parametresi tam sayılar için kullanılır (5, 10, 24, 17)
bool” parametresi 1 ya da 0 belirtir (true, false)

En çok kullanılan değişkenlerimiz bunlar, diğer değişken tipleri ise genel de “Component“lerdir.

Kodumuzu değişkenlere atayarak daha düzenli bir hale getirebiliriz Bkz:  Resim8

Resim8
Resim8

Evet bu dersimizde “Script” bölümüne giriş yaptık.
Takıldığınız herhangi bir yerde yorum kısmın da belirtebilirsiniz.

Bu arada hatalarım veya eksikliklerim olabilir. Bunları belirtirseniz bende düzeltebilirim 🙂
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