Game Maker İlk Oyunumuzu Yapıyoruz

Black Power

Özel Üye
8 Tem 2012
11,765
22
Başlayalım?
Bu dersimizde puan sistemi yapmayı,oyunu sonlandırmayı,duvarlarden geçirmemeyi,vs.vs. gibi şeyler öğrenicez.




Ve geçen derste anlattığımız hareket sisteminide bu derste yine tekrar edicez.

Bizlere 1 tane karakter spritesi,1 tane altın veya elmas spritesi,1 tane anahtar spritesi,1 tanede duvar spritesi gerekiyor.
Ben aşağıdakileri kullanıcam isterseniz benim kullandıklarımı kullabnabilirsiniz.

Karakter :
ks2d1.png


Elmas :
ks293.png


Anahtar :
ks2f2.png


Duvar :
ks2fx.png



Ve her sprite için birer tane obje açıyoruz.Ve spritelerini seçiyoruz.

Obj_karakter'in step eventine kod sayfamızı ekleyip hareket sistemimizi yazıyoruz.
Kod:

if keyboard_check(ord("W")) y-=4
if keyboard_check(ord("A")) x-=4
if keyboard_check(ord("S")) y+=4
if keyboard_check(ord("D")) x+=4




if keyboard_check(ord("W")) y-=4//eğer klavyeden w harfine basılırsa objenin y konumu 4 azalsın.

Kodlarımızı yazdık kaydediyoruz.




ks2m8.png



Hareket sistemimiz tamam arkadaşlar.Şimdi gelelim karakterin duvardan geçememesine.

İlk önce obj_duvar'ın penceresine gelip oradan solid'i işaretliyoruz.
ks4yu.png

obj_karakter'in obj_duvar ile collision eventine:



Kod:

x=xprevious
y=yprevious




Burada x ve y'yi bir önceki x ve y'lerine eşitledik.Yani collision eventi devreye girdiğinde x ve y bir önceki konumlarını alsınlar.Pek açıklayıcı olmadı ama duvar değdiğimizde durması için bu kod.

Duvardan geçememesinide hallettik.




ks395.png



Şimdide elmaslara ve anahtarlara değdiğinde puan eklenmesini yapıcaz.

İlk olarak create eventine puan=0 diyerek puan variable'mizi oluşturuyoruz.




ks3d3.png



Şimdi ise obj_karakterin obj_elmas ile collision eventine :



Kod:

puan+=10



Burada obj_elmas'a değince 10 puan eklenmesini ayarladık.

Şimdi obj_elmasın obj_karakter ile collision eventine:



Kod:

instance_destroy()



Burada ise obj_karakter elmasa değerse elmasın silinmesini yaptık.

Şimdi ise obj_karakterin obj_anahtar ile collision eventine:



Kod:

puan+=50

yazıyoruz.

Buradada obj_karakter anahtara değerse 50 puan eklenmesini yaptık.

Son olarak obj_anahtar'ın obj_karakterle collision eventine:



Kod:

instance_destroy()



Burada ise obj_karakter anahtara değerse anahtarın silinmesini yaptık.

Birde puan'ımızı ekrana yazdırmak için obj_kontrol adında bir obje oluşturuyoruz.

Draw eventine :



Kod:

draw_text(x,y,obj_karakter.puan)



Kodun anlamı : yazıyazdır(yatay konumu,dikey konumu,yazdırılacak yazı)

---------------------------------------------------------------------------

Oyunumuzda karakter dışarı çıkınca oyun bitsin istiyoruz.Onun için obj_karakter'in other--->>outside room eventine:



Kod:

show_message("Oyunu "+string(puan)+" puan ile bitirdiniz teşekkürler.")
game_end();




show_message=mesaj gösterme
game_end()=oyunu sonlandır

Evet kodlarla işimiz bukadar.Şimdi odamızı oluşturalım.




ks4ty.png



Odamızda etrafı duvarla çeviriyoruz ama 2 duvarlık ara bırakıyoruz bir köşeye karakterin oradan çıkması için.Bu arada obj_kontrol'u eklemeyide unutmayalım.Karakteri,kontrol'u elmasları anahtarları vs ekledikten sonra kaydediyoruz ve başlatıyoruz.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.