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 :
Elmas :
Anahtar :
Duvar :
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.
Hareket sistemimiz tamam arkadaşlar.Şimdi gelelim karakterin duvardan geçememesine.
İlk önce obj_duvar'ın penceresine gelip oradan solid'i işaretliyoruz.
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.
Şimdide elmaslara ve anahtarlara değdiğinde puan eklenmesini yapıcaz.
İlk olarak create eventine puan=0 diyerek puan variable'mizi oluşturuyoruz.
Ş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.
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.
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 :
Elmas :
Anahtar :
Duvar :
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.
Hareket sistemimiz tamam arkadaşlar.Şimdi gelelim karakterin duvardan geçememesine.
İlk önce obj_duvar'ın penceresine gelip oradan solid'i işaretliyoruz.
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.
Şimdide elmaslara ve anahtarlara değdiğinde puan eklenmesini yapıcaz.
İlk olarak create eventine puan=0 diyerek puan variable'mizi oluşturuyoruz.
Ş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.
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.