Unity ile C# Programlama Dili #3 - Fonksiyonlar ve Karakterin Yürümesi

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 82

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Python Nasıl Çalıştırılır?
---------------------------------
Not : Bu Python Başlangıç Seviyesidir Bilenler için Bi Anlam İfade Etmiye Bilir. Fakat Bilmiyenler için Güzel Bir Başlangıç. Bi evin temeli sağlam olmazsa ev hemen yıkılır yani " Biz Başlangıç seviyesinden başlayıp anlatım yapcaz isdiyen bizi takip eder Python Kodlamasını bize destek verenlerle birlikte öğrenir. Grup Başvuruları Açık Facebook sayfamızı Beğenmeyi Ve Grup'a Başvuru Yapmayı Unutmayın Grup Suvan Kimseyi Almıyoruz Toplu Alım Yapcaz o Yüzden Basvuruları Bekletiyoruz. SAYGILARLA JusticeADALET.
Eğer KDE masaüstü kullanıyorsak Python programını çalıştırmak için ALT+F2 tuşlarına basıp çıkan ekranda konsole yazarak bir konsol ekranı açıyoruz.
Eğer kullandığımız masaüstü GNOME ise ALT+F2 tuşlarına bastıktan sonra vermemiz gereken komut şudur:
" gnome-terminal "Bu şekilde konsol ekranına ulaştığımızda;
" python " yazıp "enter'e basarak Python Programlama Dili'ni başlatıyoruz. Karşımıza şuna benzer bir ekran gelmeli:
" Python 3.6.4 (#1, Oct 23 2018, 10:24:56) [GCC 2.7.14] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> "
Bu ekranda kullandığımız Python sürümünün 3.6.4 olduğunu görüyoruz...
Buradaki ">>>" işareti Python'un bizden komut almaya hazır olduğunu gösteriyor. Komutlarımızı bu işaretten hemen sonra, boşluk bırakmadan yazacağız. Bunun dışında, istersek Python kodlarını bir metin dosyasına da kaydedebilir, bu kaydettiğimiz metin dosyasını konsoldan çalıştırabiliriz. Bu işlemin nasıl yapılacağını daha sonra konuşacağız.

Windows kullanıcıları ise Python komut satırına Başlat > Programlar > Python > Python (Command Line) yolunu takip ederek ulaşabilirler...

Python'u nasıl çalıştıracağımızı öğrendiğimize göre artık ilk programımızı yazabiliriz. İşe çok bilindik, basit bir komutla başlayalım:

Print Komutu
-------------------------

Bu komut ekrana bir şeyler yazdırmamızı sağlar. Mesela bu komutu tek başına kullanmayı deneyelim: " print "

yazıp hemen "enter" tuşuna basıyoruz. Ne oldu? Python bir satır boşluk bırakarak alt satıra geçti, değil mi? Bunu ona yapmasını biz söyledik, o da yaptı... Şimdi de boş bir satır bırakmak yerine ekrana bir şeyler yazmasını söyleyelim Python'a:
print "Ben Python, JusticeADALET Python!"
yazıp "enter" tuşuna bastıktan sonra ekranda "Ben Python, JusticeADALET Python!" çıktısını görürüz.
Gördüğünüz gibi "print" komutunun ardından gelen "Ben Python, JusticeADALET Python!" ifadesini çift tırnak içinde belirtiyoruz. Eğer burada çift tırnak işaretini koymazsak veya koymayı unutursak Python bize bir hata çıktısı gösterecektir. Biz istersek çift tırnak yerine tek tırnak (') da kullanabiliriz. Ancak tek tırnak bazı yerlerde bize sorun çıkarabilir. Diyelim ki "Linux'un faydaları" ifadesini ekrana yazdırmak istiyoruz. Eğer bunu çift tırnakla gösterirsek sorun yok:
print "Linux'un faydaları"
Bu komut bize hatasız bir şekilde "Linux'un faydaları" çıktısını verir. Ancak aynı işlemi tek tırnakla yapmaya çalışırsak şöyle bir hata mesajı alırız:

print 'Linux'un faydaları' File "", line 1 print 'Linux'un faydaları' ^ SyntaxError: invalid syntax
Bunun nedeni, "Linux'un" kelimesindeki kesme işaretinden ötürü Python'un tırnakların nerede başlayıp nerede bittiğini anlamamasıdır... Eğer illa tek tırnak kullanmak istiyorsak, kodu şu hale getirmemiz gerekir:
print 'Linux\'un faydaları'
Buradaki "\" işareti olası bir hatadan kaçmamızı sağlar. Bu yüzden bu tür ifadelere Python dilinde "Kaçış Dizileri" (Escape Sequences) adı verilir. Python'da "print" komutunun nasıl kullanıldığını gördüğümüze göre artık Python'un başka bir özelliğini anlatmaya başlayabiliriz:

Python'da Sayılar ve Matematik İşlemleri
---------------------------------------------------
Python'da henüz dört başı mamur bir program yazamasak da en azından şimdilik onu basit bir hesap makinesi niyetine kullanabiliriz! Örneğin:

2 + 5

5 – 2

2 * 5

6 / 2

İsterseniz bunların başına "print" komutu ekleyerek de kullanabilirsiniz bu işlevi. Bir örnek verelim:

print 234 + 546

Gördüğünüz gibi tamsayıları (integer) yazarken tırnak işaretlerini kullanmıyoruz. Eğer tırnak işareti kullanırsak Python yazdıklarımızı "tamsayı" (integer) olarak değil "karakter dizisi" (string), yani bir nevi "harf" olarak algılayacaktır. Bu durumu birkaç örnekle görelim:

print 25 + 50

Bu komut, 25 ve 50'yi toplayıp sonucu çıktı olarak verecektir. Şimdi aşağıdaki örneğe bakalım:

print "25 + 50"

Bu komut 25 ile 50'yi toplamak yerine, ekrana "25 + 50" şeklinde bir çıktı verecektir. Peki şöyle bir komut verirsek ne olur:

print "25" + "50"

Böyle bir komutla karşılaşan Python derhal "25" ve "50" karakter dizilerini (bu sayılar tırnak içinde olduğu için Python bunları sayı yerine koymaz...) yan yana getirip birleştirecektir. Yani şöyle bir şey yapacaktır:

print "25" + "50"
2550

Uzun lafın kısası, "25" ifadesi ile "Ben Python, JusticeADALET Python!" ifadesi arasında Python açısından hiç bir fark yoktur. Bunların ikisi de "karakter dizisi" sınıfına girer. Ancak tırnak işareti olmayan 25 ile "Ben Python, JusticeADALET Python!" ifadeleri Python dilinde ayrı anlamlar taşır. Çünkü bunlardan biri "tamsayı" (integer) öteki ise "karakter dizisi"dir (string).

Şimdi matematik işlemlerine geri dönelim. Öncelikle şu komutun çıktısını inceleyelim:

print 5 / 2
2

Ama biz biliyoruz ki 5'i 2'ye bölerseniz 2 değil 2,5 çıkar... O zaman nedir bu şimdi? Yoksa Python matematikten anlamıyor mu?! Anlıyor anlamasına ama bizim de Python'a biraz yardımcı olmamız gerekiyor. Aynı komutu bir de şöyle deneyelim:

print 5.0 / 2
2.5

Gördüğünüz gibi bölme işlemini oluşturan bileşenlerden birinin yanına ".0" koyulursa sorun çözülüyor. Böylelikle Python bizim sonucu tamsayı yerine "kayan noktalı" (floating point) sayı cinsiden görmek istediğimizi anlıyor. Bu ".0" ifadesini istediğimiz sayının önüne koyabiliriz. Birkaç örnek görelim:

print 5 / 2.0
print 5.0 / 2.0

Python'da matematik işlemleri yapılırken alıştığımız matematik kuralları geçerlidir. Yani mesela aynı anda bölme çıkarma, toplama, çarpma işlemleri yapılacaksa işlem öncelik sırası, önce bölme ve çarpma sonra toplama ve çıkarma şeklinde olacaktır. Örneğin:

print 2 + 6 / 3 * 5 – 4

işleminin sonucu 8 olacaktır. Tabii biz istersek parantezler yardımıyla Python'un kendiliğinden kullandığı öncelik sırasını değiştirebiliriz. Bu arada yapacağımız matematik işlemlerinde sayıları "kayan noktalı sayı" cinsinden yazmamız işlem sonucunun kesinliği açısından büyük önem taşır... Eğer her defasında ".0" koymaktan sıkılıyorsanız, şu komutla Python'a, "Bana her zaman kesin sonuçlar göster," mesajı gönderebilirsiniz:

from __future__ import division

Not: Burada "__" işaretini iki kez art arda klavyedeki alt çizgi tuşuna basarak yapabilirsiniz. Artık bir sonraki Python oturumuna kadar bütün matematik işlemlerinizin sonucu kayan noktalı sayı cinsinden gösterilecektir.

Buraya kadar Python'da üç tane "veri tipi" (data type) olduğunu gördük. Bunlar

• Karakter dizileri (strings)
• Tamsayılar (integers)
• Kayan noktalı sayılar (floating point numbers)
Python'da bunların dışında başka veri tipleri de bulunur. Ama biz şimdilik veri tiplerine ara verip "değişkenler" (variables) konusuna değinelim biraz.

Değişkenler
-------------------
Kabaca, bir veriyi kendi içinde depolayan birimlere değişken adı veriyorlar. Ama şu anda aslında bizi değişkenin ne olduğundan ziyade neye yaradığı ilgilendiriyor. O yüzden hemen bir örnekle durumu açıklamaya çalışalım. Mesela;

n = 5

ifadesinde "n" bir değişkendir. Bu "n" değişkeni "5" verisini sonradan tekrar kullanılmak üzere depolar. Python komut satırında "n = 5" şeklinde değişkeni tanımladıktan sonra "print n" komutunu verirsek ekrana yazdırılacak veri 5 olacaktır. Yani:

n = 5
print n
5
Bu "n" değişkenini alıp bununla matematik işlemleri de yapabiliriz:

n * 2
n / 5

Hatta bu "n" değişkeni, içinde bir matematik işlemi de barındırabilir:

n = 34 * 45
print n
1530

Şu örneklere bir göz atalım:

a = 5
b = 3
print a * b
15
print "a ile b'yi çarparsak", a * b, "elde ederiz!"
a ile b'yi çarparsak 15 elde ederiz!

Burada değişkenleri karakter dizileri arasına nasıl yerleştirdiğimize, virgülleri nerede kullandığımıza dikkat edin.

Aynı değişkenlerle yaptığımız şu örneğe bakalım bir de:

print a, "sayısı", b, "sayısından büyüktür"

Değişkenleri kullanmanın başka bir yolu da özel işaretler yardımıyla bunları karakter dizileri içine gömmektir. Şu örneğe bir bakalım:

print "%s ile %s çarpılırsa %s elde edilir" % (3, 5, 3*5)

Burada, kullanacağımız her bir "tamsayı" için "%s" ekliyoruz. İfadenin en sonunda da % işaretinin ardından parantez içinde bu değişkenleri teker teker tanımlıyoruz. Buna göre birinci değişkenimiz "3", ikincisi "5", üçüncüsü ise bunların çarpımı...
Bir de şu örneği inceleyelim:

print "%s %s'yi seviyor!" % ("Ali", "Ayşe")

Görüleceği gibi, bu kez değişkenlerimiz tamsayı yerine karakter dizisi olduğu için parantez içinde değişkenleri belirtirken tırnak işaretlerini kullanmayı unutmuyoruz..

Metin Düzenleyici Kullanılarak Python Programı Nasıl Yazılır?
------------------------------------------------------Özellikle küçük kod parçaları yazıp bunları denemek için Python komut satırı mükemmel bir ortamdır. Ancak kodlar çoğalıp büyümeye başlayınca komut satırı yetersiz gelmeye başlayacaktır. Üstelik tabii ki yazdığınız kodları bir yere kaydedip saklamak isteyeceksiniz... İşte burada metin düzenleyiciler devreye girecektir. Python kodlarını yazmak için istediğiniz herhangi bir metin düzenleyiciyi kullanabilirsiniz. Ancak içine yazılan kodları ayırt edebilen, bunları farklı renklerde gösterebilen bir metin düzenleyici ile yola çıkmak her bakımdan hayatınızı kolaylaştıracaktır

Eğer kullandığınız sistem GNU/Linux'ta KDE masaüstü ortamı ise başlangıç düzeyi için kwrite veya kate metin düzenleyicilerden herhangi biri yeterli olacaktır. Şu aşamada kullanım kolaylığı ve sadeliği nedeniyle kwrite önerilebilir.

Eğer kullandığınız sistem GNU/Linux'ta GNOME masaüstü ortamı ise gedit'i kullanabilirsiniz.

Windows kullanıcıları ise Başlat > Programlar > Python > IDLE (Python GUI) yolunu takip ederek IDLE adlı geliştirme aracı ile çalışabilirler.

İşe yeni bir kwrite belgesi açarak başlayalım. Yeni bir kwrite belgesi açmanın en kolay yolu ALT +F2 tuşlarına basıp, çıkan ekranda

kwrite

yazmaktır...

Boş kwrite belgesi karşımıza geldikten sonra ilk yapmamız gereken, ilk satıra

#!/usr/bin/env python

yazmak olacaktır. Bu komut sayesinde kwrite yazacağımız kodları Python'la çalıştırması gerektiğini anlayacak. Bu konuyu biraz sonra daha ayrıntılı olarak göreceğiz. Kwrite belgesinin ilk satırına yukarıda verilen ifadeyi yerleştirdikten sonra artık kodlarımızı yazmaya başlayabiliriz. Aslında metin içine kod yazmak, Python komut satırına kod yazmaktan çok farklı değil. Şimdi aşağıda verilen satırları kwrite belgesi içine ekleyelim:

#!/usr/bin/env python
a = "elma"
b = "armut"
c = "muz"
print "bir", a, "bir", b, "bir de", c, "almak istiyorum!"

Bunları yazıp bitirdikten sonra sıra geldi dosyamızı kaydetmeye. Şimdi dosyamızı "deneme.py" adıyla herhangi bir yere kaydediyoruz. Gelin biz masaüstüne kaydedelim dosyamızı! Şu anda masaüstünde "deneme.py" adında, muhtemelen yeşil renkli, üzerinde bir yılan resmi bulunan bir dosya görüyor olmamız lazım... Gerçi uzaktan bakınca kaplumbağaya benziyor ya, neyse... Şimdi hemen bir konsol ekranı açıyoruz. (Ama python komut satırını çalıştırmıyoruz) Şu komutu vererek, masaüstüne, yani dosyayı kaydettiğimiz yere geliyoruz:

cd Desktop

Yazdığımız programı çalıştırmak için ise şu komutu verip enter'e basıyoruz:

python deneme.py

Eğer her şey yolunda gitmişse şu çıktıyı almamız lazım:

bir elma, bir armut, bir de muz almak istiyorum!

GNOME kullanıcıları da yukarıda anlatılan işlemi takip ederek dosyayı kaydedip çalıştırabilir.

Windows kullanıcıları ise IDLE adlı geliştirme aracını yukarıda anlattığımız şekilde açtıktan sonra File > New Window yolunu takip ederek yeni bir dosya oluşturmalı, ardından yukarıda verdiğimiz kodları yazmalı, en son olarak da File > Save as... yolunu takip ederek dosyayı deneme.py adıyla herhangi bir yere kaydetmelidir... Bu arada Windows kullanıcılarının, #!/usr/bin/env python satırını yazmalarına gerek yok... Bu satır sadece GNU/Linux kullanıcılarını ilgilendiriyor. Windows kullanıcıları IDLE ile dosyayı kaydettikten sonra Run > Run Module yolunu takip ederek veya doğrudan F5 tuşuna basarak yazdıkları programı çalıştırabilir.

"python deneme.py" komutuyla programlarımızı çalıştırabiliyoruz. Peki ama acaba Python programlarını başa "python" komutu eklemeden çalıştırmanın bir yolu var mı? İşte burada biraz önce bahsettiğimiz "#!/usr/bin/env python" satırının önemi ortaya çıkıyor... Başa "python" komutu getirmeden programımızı çalıştırabilmek için öncelikle programımıza "çalıştırma yetkisi" vermemiz gerekiyor. Bunu şu komut yardımıyla yapıyoruz:

cd Desktop

komutuyla dosyayı kaydettiğimiz yer olan masaüstüne geliyoruz.

chmod a+x deneme.py

komutuyla da "deneme.py" adlı dosyaya "çalıştırma yetkisi" veriyoruz, yani dosyayı "çalıştırılabilir" (executable) bir dosya haline getiriyoruz.

İstersek bu işlemi şu şekilde de yapabiliriz: + Masaüstündeki deneme.py dosyasına sağ tıklayın
+ "özellikler" menüsüne girin
+"izinler" sekmesi altındaki "çalıştırılabilir" seçeneğinin solundaki kutucuğu işaretleyin.

Artık komut satırında şu komutu vererek programımızı çalıştırabiliriz:

cd Desktop
./deneme.py

Peki tüm bu işlemlerin #!/usr/bin/env python" satırıyla ne alakası var? El Cevap: Eğer bu satırı metne yerleştirmezsek "./deneme.py" komutu çalışmayacaktır...

Bu işlemlerden sonra bu deneme.py dosyasının isminin sonundaki .py uzantısını kaldırıp,

./deneme

komutuyla da programımızı çalıştırabiliriz.


Ya biz programımızı sadece ismini yazarak çalıştırmak istersek ne yapmamız gerekiyor?

Bunu yapabilmek için programımızın "PATH değişkeni" içinde yer alması, yani Türkçe ifade etmek gerekirse, programın "YOL üstünde" olması gerekir... Peki bir programın "YOL üstünde olması" ne anlama geliyor? Bilindiği gibi, bir programın veya dosyanın "yolu", kabaca o programın veya dosyanın içinde yer aldığı dizindir.... Örneğin GNU/Linux sistemlerindeki fstab dosyasının yolu /etc/fstab'dır. Başka bir örnek vermek gerekirse, xorg.conf dosyasının yolu /etc/X11/xorg.conf'tur... Bu "yol" kelimesinin bir de daha özel bir anlamı bulunur. Bilgisayar dilinde, çalıştırılabilir dosyaların (örneğin Windows'taki .exe dosyaları ve GNU/Linux'taki .bin dosyaları çalıştırılabilir dosyalardır.) içinde yer aldığı dizinlere de özel olarak YOL adı verilir ve bu anlamda kullanıldığında "yol" kelimesi genellikle büyük harfle yazılır... İşte çalıştırılabilir dosyalar eğer YOL üstünde iseler doğrudan isimleriyle çağrılabilirler. Şimdi bu konuyu daha iyi anlayabilmek için birkaç deneme yapalım. Hemen bir konsol ekranı açıp şu komutu veriyoruz:

echo $PATH

Bu komutun çıktısı şöyle bir şey olacaktır:

/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.4.6:

/opt/sun-jre/bin:/usr/qt/3/bin:/usr/kde/3.5/bin

Bu çıktı bize YOL değişkeni dediğimiz şeyi gösteriyor. İşte eğer çalıştırılabilir dosyalar bu dizinlerden herhangi biri içinde ise o dosyaları isimleriyle çağırabiliyoruz. Örneğin;

which amarok

komutun çıktısına bir bakalım:

/usr/kde/3.5/bin/amarok

Gördüğünüz gibi amarok programının YOL'u /usr/kde/3.5/bin/amarok. Hemen yukarıda echo $PATH komutunun çıktısını kontrol ediyoruz ve görüyoruz ki /usr/kde/3.5/bin/ dizini YOL değişkenleri arasında var... Dolayısıyla, amarok programı YOL üstündedir, diyoruz. Amarok programı YOL üstünde olduğu için, konsolda sadece "amarok" yazarak programı başlatabiliyoruz. Şimdi eğer biz de yazdığımız programı doğrudan ismiyle çağırabilmek istiyorsak programımızı echo $PATH çıktısında verilen dizinlerden birinin içine kopyalamamız gerekiyor. Mesela programımızı /usr/local/bin içine kopyalayalım. Tabii ki bu dizin içine bir dosya kopyalayabilmek için root yetkilerine sahip olmalısınız. Şu komut işi halledecektir:

sudo cp Desktop/deneme /usr/local/bin

Şimdi konsol ekranında

deneme

yazınca programımızın çalıştığını görmemiz lazım.

Program dosyamızı YOL'a eklemek yerine, dosyamızın içinde bulunduğu dizini YOL'a eklemek de mümkün. Şöyle ki:

PATH=$PATH:/home/kullanıcı_adınız/Desktop

Bu şekilde masaüstü ortamını YOL'a eklemiş olduk. İsterseniz;

echo $PATH

komutuyla masaüstünüzün YOL üstünde görünüp görünmediğini kontrol edebilirsiniz... Bu sayede artık masaüstünde bulunan çalıştırılabilir dosyalar da kendi adlarıyla çağrılabilecekler. Ancak masaüstünü YOL'a eklediğinizde, masaüstünüz hep YOL üstünde kalmayacak, mevcut konsol oturumu kapatılınca her şey yine eski haline dönecektir.

Şimdiye kadar öğrendiklerimizi kısaca özetlemek gerekirse: • Python programı çoğu GNU/Linux dağıtımında zaten yüklü olarak geldiği için ayrıca yüklemeye gerek yok
• Python kodlarını yazmak için iki seçeneğimiz var. Birincisi kodlarımızı doğrudan Python komut satırına yazabiliyoruz. Python komut satırını açmak için ALT+F2 tuşlarına basıp çıkan ekrana "konsole" yazmamız, ardından da konsolda "python" komutunu vermemiz gerekiyor. Bu ekranda komutlarımızı ">>>" işaretinden hemen sonra yazacağız.
• İkinci seçeneğimiz ise bir metin düzenleyici kullanmaktır. Bazı ufak kodları denemek için komut satırı yeterli olsa da hem kodlarımızı kaydetmek hem de büyük programlarda rahat hareket edebilmek için mutlaka bir metin düzenleyici kullanmamız gerekiyor. Şu aşamada kullanım kolaylığı nedeniyle "kwrite" metin düzenleyici önerilebilir.
• ALT+F2 tuşlarına basıp "kwrite" yazarak boş bir kwrite belgesi açabiliriz. Python kodlarını yazmaya başlamadan önce, boş belgenin ilk satırına

#!/usr/bin/env python


yazmamız gerekiyor. Bu satır sayesinde sistemimiz, yazdığımız kodların hangi program tarafından çalıştırılacağını anlıyor. • Python'da en temel komutlardan biri de "print" komutudur. Bu komut bizim ekrana bir şeyler yazdırmamızı sağlıyor. Örneğin şu kod, bir bilgisayar diliyle yazılabilecek en basit programdır:

print "Merhaba Python!"

Yukarıdaki kodu, değişkenleri kullanarak da yazabiliriz:

#!/usr/bin/env/python
ilk_program = "Merhaba Python!"
print ilk_program

-------------------------------
Anlatım Burada Bitmiştir. ALINTI DEĞİLDİR TEK TEK DÜZENLENİP HAZIRLANMIŞTIR EMEĞE SAYGI LÜTFEN Bİ TEŞEKKÜR'Ü ÇOK GÖRMEYİN ŞU GÜZEL KARDEŞİNİZE
------------------------------------------------
VİDEO ÇEKİP ÇEKMEMEK KONUSUNDA KARARSIZ KALDIM.
SİZ SÖYLEYİN VİDEO GEREKLİMİ DEĞİL'Mİ ?
----------------------------------------------------------

Not : Önemli Yerler Siyah Kalemle Belirlenmiştir.

Unity ile C# Programlama Dili Serisi #3: Fonksiyonlar ve Karakterin Yürümesi

Unity ve C# öğrenimi bağlamında bu serinin üçüncü bölümüne hoş geldiniz. Bu makalede özellikle Metin2 private server geliştirme sürecinde önemli olan fonksiyonların temellerine ve basit bir hareket sistemi oluşturmaya odaklanacağız. Oyun geliştirme dünyasında game core yapısını daha iyi anlamak adına fonksiyon kavramını derinlemesine ele alacağız. Ayrıca Unity üzerinden bir karakterin nasıl yürüyeceği konusunu da örneklerle anlatarak C# dilindeki uygulamaları pratiğe dökeceğiz.

Fonksiyon Nedir?

Fonksiyonlar, belirli bir görevi gerçekleştiren kod bloklarıdır. C# dilinde bir fonksiyon genellikle şu şekilde tanımlanır:

Kod:
public void HareketEt()[BR][/BR]{[BR][/BR]    // Burada yapılacak işlemler[BR][/BR]}


Bu yapı, Unity’de bir nesnenin belirli bir eylemi yapmasını sağlar. Örneğin bir karakterin hareket etmesini istiyorsak bu işlemi bir fonksiyon içinde tanımlarız. Bu tarz yapılar Metin2 server src tarafında da benzer şekilde kullanılır. Özellikle game server programming yapılırken, oyuncu komutlarını karşılayan fonksiyonlar yazmak oldukça yaygındır.

Unity Üzerinden Basit Bir Hareket Sistemi

Unity’de bir karakterin klavye veya fare yardımıyla hareket etmesini sağlamak için Input sistemini kullanırız. Aşağıda basit bir örnek yer almaktadır:

Kod:
void Update()[BR][/BR]{[BR][/BR]    float x = Input.GetAxis('Horizontal');[BR][/BR]    float y = Input.GetAxis('Vertical');[BR][/BR][BR][/BR]    Vector2 hareket = new Vector2(x, y);[BR][/BR]    transform.Translate(hareket * Time.deltaTime * 5f);[BR][/BR]}


Bu kod parçası sayesinde bir nesne, kullanıcı tuşlara bastığında belirlenen yönde hareket eder. Bu yapı, Metin2 gibi oyunlarda karakter kontrolü için temel alınabilir. Gerçek zamanlı pvp sistemlerde bu tür kontroller çok önemlidir çünkü oyuncuların karakterlerine anlık tepki vermesi gerekir.

Fonksiyonlarda Parametre Kullanımı

Fonksiyonlara değer gönderebiliriz. Bu değerler parametre olarak adlandırılır. Örneğin:

Kod:
public void HareketEttir(float hiz)[BR][/BR]{[BR][/BR]    transform.position += Vector3.forward * hiz * Time.deltaTime;[BR][/BR]}


Bu şekilde fonksiyon farklı hızlarda çalışabilir. Metin2 geliştirme sırasında karakterin koşması, yavaşlaması gibi durumlar bu yapı ile kolayca yönetilebilir. Özellikle server src tarafında karakterin durumu sunucuya aktarılırken bu tür fonksiyonlar devreye girer.

Oyun İçinde Hareket Sistemleri ve Metin2 Bağlamında Uygulamalar

Metin2 private server geliştirme sürecinde, karakterin hareketi hem client hem de server tarafında senkronize edilmelidir. Unity üzerinde oluşturulan bu tür sistemler, client src geliştirme aşamasında referans alınabilir. Auth ve game server senkronizasyonları için bu tür örneklerin anlaşılması büyük fayda sağlar.

Martysama gibi isimlerin katkı sunduğu Metin2 development topluluklarında, bu tarz fonksiyonel yapılar genellikle C++ ya da Python ile yazılmış sistemlerde de karşımıza çıkar. Unity ile C# öğrenmek, bu sistemlerin mantığını kavramak için harika bir başlangıçtır.

Sonuç

Unity ve C# ile fonksiyonlar konusuna değindik, karakter hareketi gibi temel bir oyun mekaniğini inceledik. Bu bilgiler Metin2 özel sunucu geliştirme süreçlerinde de size yön verebilir. Game core yapılarını daha iyi anlamak için bu temel bilgileri pekiştirmek önemlidir. Serinin diğer bölümlerinde daha gelişmiş konulara değineceğiz.


Unity and C# Programming Language Series #3: Functions and Character Movement

Welcome to the third part of our Unity and C# learning series. In this article, we will focus on the fundamentals of functions and how to create a basic movement system. Understanding function concepts is crucial for grasping game core structures during game development. We'll also demonstrate how to move a character in Unity with examples, turning C# applications into practice.

What is a Function?

Functions are code blocks that perform specific tasks. In C#, a function is typically defined like this:

Kod:
public void MoveCharacter()[BR][/BR]{[BR][/BR]    // Actions performed here[BR][/BR]}


This structure allows an object in Unity to perform a specific action. For example, if we want a character to move, we define this process within a function. Such structures are commonly used in Metin2 server src. Especially in game server programming, writing functions that respond to player commands is quite common.

Simple Movement System in Unity

In Unity, we use the Input system to allow a character to move using keyboard or mouse input. Here is a simple example:

Kod:
void Update()[BR][/BR]{[BR][/BR]    float x = Input.GetAxis('Horizontal');[BR][/BR]    float y = Input.GetAxis('Vertical');[BR][/BR][BR][/BR]    Vector2 movement = new Vector2(x, y);[BR][/BR]    transform.Translate(movement * Time.deltaTime * 5f);[BR][/BR]}


With this code snippet, an object moves in the specified direction when the user presses keys. This structure can serve as a basis for character control in games like Metin2. Real-time pvp systems require such controls since players must respond instantly to their characters.

Using Parameters in Functions

We can send values to functions. These values are called parameters. For example:

Kod:
public void MoveAtSpeed(float speed)[BR][/BR]{[BR][/BR]    transform.position += Vector3.forward * speed * Time.deltaTime;[BR][/BR]}


This way, the function can operate at different speeds. During Metin2 development, situations such as character running or slowing down can be easily managed with this structure. When synchronizing character states to the server, these types of functions come into play.

Movement Systems in Games and Applications in the Context of Metin2

During Metin2 private server development, character movement must be synchronized on both client and server sides. Systems created in Unity can serve as references during client src development. Understanding synchronization between auth and game server sides is greatly aided by such examples.

In communities like those contributed to by Martysama in Metin2 development, such functional structures often appear in systems written in C++ or Python. Learning Unity and C# serves as an excellent starting point for understanding the logic behind these systems.

Conclusion

We explored functions in Unity and C#, examined a fundamental game mechanic like character movement. These insights can guide you in developing Metin2 private servers. Strengthening these foundational skills is important for better understanding game core structures. In upcoming parts of the series, we will delve into more advanced topics.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt