Oyun yapımı dersleri 4 - Unity3D kodlama

CODING (Kodlama = Bilgisayar Dili konuşmak) Unity3D ile oyun örneklerine başlamadan bilgisayar dilini anlamamız gerekiyor.

Bilgisayar dili diyince olayı karışık zannetmeyin. Kesinlikle Çoook KOLAY. ve gördüğüm en kolay program arabirimi Unity3D sisteminde mevcut.

KODLAMA MANTIĞI:

İlk defa otobüse veya metroya bindiğiniz günü hatırlayın. Duraktan birsürü araç geçiyor, hangisi doğru, soracak biri de yoksa kabus gibi olur. Şimdi size bildiğim en basit yöntemle kod yazmayı  öğreteceğim.  10 dakika herşeyi unutup bunu okuyun.

 

DERS-1 : Bilgisayar hafızasından minik bir parça kullanacağız; bu parçanın ismi : Değişken .

Değişken (Variable) : iyi bir programcı değişkenlere hakim olan kişidir. En basit hali ile değişkeni bir kutu olarak düşünebiliriz. "Kutu ne işe yarar": içine eşyalar koyulur.

game creation

Şimdi evinizde böyle bir kutu olduğunu düşünün. içersine eşyalar koyuyorsunuz. ve üzerindeki bu ismi silip değiştirebiliyorsunuz, yani kutunun içi değişiyor.

Herhalde evinizde böyle bir kutu olsa üstüne "Değişken" yazmayacaktınız. Diyelim ki içine Oyuncaklarınızı koymak istediniz bu durumda kutunun üstüne ne yazardınız. şunlardan birini seçin.

* Ördek kutusu

* Oyuncak

* Gereksiz eşya

 

i love unity3d

Ben olsam Oyuncak yazardım. çünkü daha kısa ve içindekileri doğru ifade ediyor. "ördek kutusu" diyenler büyük hata yapmış oldu çünkü kutuya sadece ördek koymayacağız. Bu sebeple daha genel bir isim yazmamız gerekiyor. "Gereksiz eşya" yazabilirsiniz ama buradaki sorun da şu: kutuyu kapatırsanız içinde ne olduğunu hatırlamak zor olacaktır.

Kısa ve anlamlı bir isim,  Dikkat: Türkçe özel harfler sıkıntı çıkarabilir: Ö,Ç,Ş,İ,Ü,Ğ . bunları kullanmıyoruz.

 

DERS-2  : Bilgisayar dili Yukardan aşağı okunur, sağdan sola doğru bakılır. Kilit noktası bu.Bu soru çok önemli, bunu cevaplayan bilgisayar dilini %60 anlamış sayılır:

? =1+2+3

Cevap nedir ... ben söyliyeyim 6

 

Dikkat ederseniz bize ilkokulda  anlatıldığı gibi sorunun cevabını en sağa yazmıyorum. En büyük  problem burada başlıyor. Bilgisayar İnsan gibi bakmadığı için işlemleri böyle sola doğru yapar. Bunu tüm  işlemlerde böyle yapacağız, işlemin sonucu  herzaman solda biter.

soru:

A  = 1 + 2 * 3 * 0

Basit bir matematik işlemi, bu sefer araya çarpma işlemi koydum. cevap nedir ?

cevap: A değişkeni içersine 1 geldi.

Çünkü bir sayıyı SIFIR ile çarparsanız sonuç sıfır olur.

 

Şu aşamada programlamayı anlamaya başlamış olmalısınız, veya bilgisayarın fişini çekip ufka doğru bakıyor olabilirsiniz.

Sizi rahatlatmak için bir soru daha sorayım: (Dikkat edin yukarıdan aşağı doğru okuyacaksınız).

soru:

A=1+2

A= A + 3

Bu satıra bakan biri için sonuç nedir  ?

Toplamanın sonucu A değiişkeninin içine gider. En başta anlattığım kutu  olayını unutmayın. "A=" dediğimizde sanki kutuya birşey  koymuş gibi düşünün.

Cevap: A değişkeni  içine 6 geldi

 

Her zaman aşağıya doğru tek tek satırlara bakıyoruz, soruyu görünce gidip yukarıya bakmayın. Değişkenin içindeki bilgi  her zaman sağdaki işlemin sonucu olur.

ilk defa kodlama öğreniyorsanız elinize  bir kağıt alın ve her satırda olan işlemi kağıt üzerinde çözün.

variablle.jpg

Hatta yukarıdaki satırların üzerini kapatacak bir kağıt koyun. Robot gibi düşünün insan gibi değil, ikide bir yukarı bakmayın. bilgisayar heryeri göremez,tek satırı görür. Eğer  bu kısma kadar anladıysanız bilgisayar dili %70 oranında tamamdır.

 

DERS-3ŞART (Bilgisayar dilinde en önemli şey)

Bundan sonrası insan mantığı için tamamen yeni bir konu. Eğer sıkılırsanız yukarıdaki 2 satırlık soru gibi kendiniz 4 satırlık bir soru yazın. Aşağıdaki  yorumlarda beni zorlayacak sorularınızı merakla bekliyorum.

yeni konumuz şartlı işlem:

if(Soru)
{
// Eğer sorunun cevabı "Evet" ise  bu kısımdaki işlem yapılır,
// aksi halde aşağıdan devam edilir.
}


Soru:

A=2

if (A <4)
{
A = A * 10
}

Bu satıra bakan biri için A değişkeni nedir  ?

 

Aklınıza şöyle bir soru gelebilir, A=2 dedik ya bunu bilgisayar görmüyor mu !  neden 4 ile kıyaslıyoruz.

Çünkü biz daha yeni öğreniyoruz, ve bilgisayar gibi tek tek satırlara bakınca ne olacağını öğrenmeye çalışıyoruz. Bilgisayar açısından durum çok vahim, çünkü bir satır yukarıya bakmayı düşünmez. işin aslı bilgisayar düşünmez. işlemi gösterilen sıra ile yapar ve A değişkeninin içerisine 20 sayısını koyar.

 

Bundan sonraki dersleri Unity3D üzerinde uygulamalı olarak göstereceğim. Sizden ricam ilk dersteki Top zıplatan kod dosyasının içine şunu yazın.

 


 

public class kodYaz : MonoBehaviour{

public int AtmaGucu=100;

void OnMouseDown() {

gameObject.GetComponent ().AddForce (Vector3.up*AtmaGucu);

}

}

new-coding.jpg


 

Sarı ile gösterdiğim iki kelime hariç hiçbirşeyi değiştirmeyin. Çünkü Bilgisayar kafası da imla kurallarına dikkat eden insanlar gibi fazla hassastır ve bir nokta veya virgül eksik diye arıza çıkarır.

unity-game idea

 

Bundan sonraki derslerde kullandığım ".CS" dosyasını da buradan vereceğim. Tek tek kodları yazmanız gerekmeyecek, fakat olayın mantığını  anlamadan o  dosyayı nereye koyacağınızı şaşırabilirsiniz.

Bu dersi yeni görenler: bu 4.ders. ilk dersleri okumayı unutmayın.

 

DERS-1  (install): https://www.tr3d.com/dersler/ders/2n0/

DERS-2 (apk üretmek): https://www.tr3d.com/dersler/ders/2n3/

DERS-3 (PARA): https://www.tr3d.com/dersler/ders/2n8/

 

20-12-2018 . Necmi Demirkeser

Hazırlayan: drekon (Necmi Demirkeser)