Game Maker Yöne Göre Ateş Etme Sorunu
UstaDerslik Soru-Cevap Yararlı Araçlar
arama ikon
Diller
Türkçe Türkçe

bilgi UstaDerslik
Bu uyari kutusudur.
Tamam

Anasayfa
İletişim
Üyeler

Game Maker Yöne Göre Ateş Etme Sorunu

Paylaş  :
profil
ömercelebi
GÖRÜNTÜLENME(1257)
RAPOR ET
Ben bi oyun yapmaya çalışıyorum ama bu ateş etme olayında biraz takıldım çünkü internettekiler hep mouse nereye bakıyosa oraya ateş ediyor benim istediğim karakteri sola döndürmek için a tuşuna bastın ve sonra ateş ettim ateşde sola doğru gitsin yada karakteri aşağı döndürdüğümde aşağı doğru ateş ettiğimde aşağı doğru gitsin mermide bunu nasıl yapabilirim yardım edebilicek biri var mı ?




cArleone
cArleone 2 Yıl Önce Cevaplandı
karakterin creantında yon diye değişken oluşturun.
yon=""

wasd tuşlarına bastığında bu yon değişkenine tuşu atayın örnek
if(keyboard_check(ord("W"))){ y-=5; yon="w" }

asd içinde aynısını yap.

merminin creatına
if(obj_karakter.yon="w"){
motion_set(90,10)
}

şu şekilde yazarsan eğer tuş w ise 90 yönü yani yukarıya 10 hızında gidecektir.aynı işlemi asd tuşları içinde yapman gerek 0=sağa 90=yukarı 180=sola 270=aşağı yöndür.yon değişkeninde 2 tuş tutup açıları 30-45.. gibi yapıp çapraza yollayabilirsin.
ömercelebi
ömercelebi 2 Yıl Önce Cevaplandı
Dediğinizi yaptım ana yönlere gidiyor ancak çaprazlara gitmiyor örneğin bir çapraz için yazdığım kodu atayim hatalı olup olmadığına bir bakarsanız iyi olur.

Karakterin stepine yazdığım;
if(keyboard_check(ord("W"))){
if(keyboard_check(ord("A"))){yon="W-A"}
y-=5; yon="W"}

Merminin createsine yazdığım;
if(obj_karakter.yon="W-A"){

motion_set(135,15)


}
cArleone
cArleone 2 Yıl Önce Cevaplandı
kodları hatalı yazıyorsunuz.stepe yazdığınız kodun doğru yazılışı şu şekilde
if(keyboard_check(ord("W"))){
if(keyboard_check(ord("A"))){
yon="W-A"
}else{
y-=5; yon="W"
}
}

kodların doğru yapılarını iyi öğrenin.yoksa sürekli hata alırsınız.eğer stepteki kodun aldında başka keyboard_check(ord("W") yakalayıp işlem yapmadıysanız çalışır.
ömercelebi
ömercelebi 2 Yıl Önce Cevaplandı
Dediğiniz şekilde yaptım hepsini farklı bir execute code ye yazdım ancak bütün çaprazlar çalışıyor ama "W-D" kodu çalışmıyor bir kaç kere tekrardan yaptım ama gene aynı sağ üst çapraza ateş etmiyor.Kullandığım kodlar şunlar;

Stepte Kullandığım:
/// Mermi Hareketler (W-D)
if(keyboard_check(ord("W"))){
if(keyboard_check(ord("D"))){
yon="W-D"
}else{
yon="W"
}
}

/// Mermi Hareketler (A-W)
if(keyboard_check(ord("A"))){
if(keyboard_check(ord("W"))){
yon="A-W"
}else{
yon="A"
}
}

Mermi Create sinde kullandığım:

if(obj_karakter.yon="W-D"){
motion_set(45,30)
}

if(obj_karakter.yon="A-W"){
motion_set(135,30)
}

A-W çaprazını örnek olarak attım hepsini atmak istemedim çok uzun tutmıyim yazıyı diye ama diğerlerinide aynı bu şekilde yaptım.X ve y üzerindeki hareketleri bilerek silip farklı bir yere koydum ama onları bu kodun içine yazdığımda da hata düzelmedi.
cArleone
cArleone 2 Yıl Önce Cevaplandı
Eğer altta W-A vs gibi W ile başlayan yakalama yapmadıysanız sorun yok kodlarda.birde elseleri az kullanın böyle işlemlerde.çünkü if çalışmazsa else kesin çalışır.bu şekilde düzensiz kod yazdığınızda kesin çakışır bir yerler.
ömercelebi
ömercelebi 2 Yıl Önce Cevaplandı
Aynı harfle başlayan yakalama yapmadım ve else ile ilgili sorun olup olmadığını diğer çapraz kodları silerek denedim gene aynı şekilde çalışmıyordu.



Kod
Kalın
Vurgu
Resim
Video
Url
CEVAPLA
Tüm Hakları Saklıdır. ©Arleone 2013-2014 UstaDerslik






Giriş
Şifremi Unuttum...
Şifre Talep
  Kuralları Kabul Ediyorum.
Kaydol