12 Kasım 2014 Çarşamba



keyboard_check

Merhaba arkadaşlar  bu günkü game maker dersimiz de keyboard_check kodunu inceleyeceğiz. Bu kod nedir nerede kullanılır. Hepsini en ince ayrıntısına kadar inceleyeceğiz.

keyboard_check kodu kavye den bir tuşa basınca olacakları ayarlamamızı sağlar. Yani Bir oyun yaptığınızı farz edelim karakteri hareket ettirmek için bu kodu kullanırız. Bu arada ilk dersimiz olan  X ve Y eksenleri hakkında bilgisi olmayan arkadaşlar ilk o konuyu okurlarsa daha iyi olur.
Şimdi hemen basit bir sahne hazırlayalım. Gerekenler şunlar.

1. Karakter objesi. 
2. Karaktere uygun bir sprite hazırlayarak karaktere ekleyin
3. Bir adet room yani oda ekleyin.
Bunlar yaptıktan sonra karakterimizi odaya koyun.



Ben böyle basit bir sahne hazırladım. 
Şimdi Karakterin Step Event ,ini açalım ve kodlamaya başlayalım

if keyboard_check(ord("P"))
{

}

kodumuz şimdilik budur. Örneklerle daha da çok açıklayacağım. Şimdi buradaki kodları açıklayayım.
*  if bildiğimiz gibi İngilizce de eğer demektir. 

* keyboard_check ise bir tuşa bastığımızı sorguluyorduk.

* ord ise bizim tuşa bastığımızı sorgular yani ord koymadan oyunu başlatırsak karakter direk parantez içindeki kodu devreye sokar. Yani bizim P tuşuna basmamızı beklemez.

* P de  bizim klavyedeki P tuşumuz oluyor. Yani oyun içinde P tuşuna basarsak bir işlem yaparız.

NOT : Her hangi bir tuş yazarken küçük karakterle yazmıyoruz. Büyük hafle yazıyoruz.
Şimdi P tuşu ile oyun içinde basit bir pause yani oyunu durdurma örnekği yapalım.

Yine karakterin Step Event,ine şu kodlarımızı yazalım

if keyboard_check(ord("P"))
{
show_message("Oyun durdu. Devam etmek için Tamam tuşuna basın")
}

Evet kodumuzu yazdık ve test edelim isterseniz. Oyun çalıştırarak P tuşuna basalım


Ever hata yapmadıysanız aynen bu şekilde oyun duracaktır ve ok tuşuna basınca oyun devam edecektir.
Şimdi ise karakter yönlendirme hakkında biraz bilgi edinelim.
İlk derste anlattığım X ve Y konusuna değinerek karakterimizi hareket ettirelim.
Yine karakterimizin Step Event,ine yönlendirme kodlarımızı yazalım
if keyboard_check(ord("W"))
{
y-=3
}
if keyboard_check(ord("A"))
{
x-=3
}

if keyboard_check(ord("S"))
{
y+=3
}

if keyboard_check(ord("D"))
{
x+=3
}
Şimdi oyunumuzu test edelim ve karkteri WASD tuşları ile yönlendirelim. Gördüğünüz gibi artık karakterimiz hareket ediyor.
Şimdi dikkat etmemiz gereken bir nokta ise karakteri yön tuşları ile haraket ettirirken bir bir kaç kota dikkat etmemiz gerek. Bunlar şunlardır.
Yön tuşları ile hareket edecekse kodumuza ord eklemeyiz ve (())  dört parantez yerine sadece () iki tane ekleriz yani kodumuz şöyle gözükür

if keyboard_check(vk_up)
{
y-=3
}

Klavyemizden yukarı tuşa basarsak karakter yukarı gider. W tuşu ile aynı işi görecektir aralarında fark isterseniz birde bakarak da görebilirsiniz

if keyboard_check(vk_up)
{
y-=3
}
if keyboard_check(ord("W"))
{
y-=3
}
Gördüğünüz gibi yön tuşları ile karakter yönetecekseniz bu ayrıntıya dikkat etmeniz gerek. yoksa hata alırsınız.
Bu günkü dersten de bu kadar arkadaşlar. Bir sonraki derste görüşmez üzere kendinize iyi bakın.
Serdar



3 yorum:

  1. if yapınca hata veriyor unexepted symbol in expression gibi bir hata veriyor

    YanıtlaSil
    Yanıtlar
    1. Yazdığınız kodların ekran görüntüsünü atabilirmisiniz acaba

      Sil
  2. Bu yorum yazar tarafından silindi.

    YanıtlaSil