Unity GetKeyDown - GetKey - GetKeyUp Nedir ? ve Farkları Nelerdir ?


Merhaba arkadaşar bu yazımda sizlere Unity de GetKey - GetKeyDown - GetKeyUp ile klavye Input (Giriş) larının ne işe yaradığını ve farklarından bahsedeceğim. Gelin hadi yazımıza geçelim.

GetKey - GetKeyDown - GetKeyUp Nedir ?

Evet arkadaşlar farklarından bahsetmeden önce gelin bunların ne olduğundan bahsedelim.
Bu komutlar ile kullanıcını mausdan bastığı tuşları algılayabiliyoruz ve buna göre if komutları ile karakter hareketi, envanteri açma gibi bir çok oyunun temelinde yatan fonksiyonları çalıştırabiliyoruz.

GetKey 

Tuşa basılı kaldığı süre boyunca çalışan yani sürekli hareketler gerçekleştirmek istediğimiz zaman kullandığımız komuttur , aynı zamandan tuştan parmak çekildiği zaman da son 1 kez daha çalışır bu kod.

GetKeyDown

Tuşa basıldığı zaman çalışan ve parmağı çektiğimiz zaman çalışmayan komuttur.

GetKeyUp 

Sadece parmak tuştan çekildiği zaman çalışan komuttur.

Farkları Nelerdir ?

Aslına bakarsanız zaten nedir kısmını okuduğunuz zaman aralarındaki farkları anlamışsınızdır ama gelin bir de üstüne değinelim.

GetKey

Diğerlerinden farkı her durumda çalışıyor olması yani tuşa bastığınıda çalışır, basılı tuttuğunuz durumlarda çalışır ve parmağınızı çektiğiniz zaman da GetKeyUp gibi çalışır.
Anlayacağınız o ki GetKey diğer 2 sine ek olarak basılı tutulduğu zaman da çalışan halidir.
Genel olarak karakteri yürütmek ve hareket gibi sürekli parmağın basılı tutulması gereken yerlerde kullanılır.

GetKeyDown

Diğerlerinden farkı parmak basıldığı ilk an çalışır ve sonra çalışmayı bırakır. Yani kullanıcı basılı tuttuğu zaman veya parmağını çektiği zaman çalışmaz sadece 1 kere basıldığı zaman çalışır ve sonra durur, eğer aynı komutu tekrar çalıştırmak isterse parmağını basılı tutmak yerine kaldırıp bir kez daha butona basması gerekir.
Genel olarak envanter açma zıplama gibi yerlerde kullanılır.

GetKeyUp

Diğerlerinden farkı parmak kaldırıldığı zaman çalışmasıdır. 1 Kere parmak tuştan kaldırıldığı zaman çalışır ve sonra durur.
Genel olarak şimdiye kadar hiç kullanmadığım için nerede kullanılacağını söyleyemiyorum.