Game Maker Ders-10 Karakterin Tıklanan Yere Gitmesi
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 Ders-10 Karakterin Tıklanan Yere Gitmesi

profil
xyztehlike
BEĞEN(0)
BEĞENME(0)
GÖRÜNTÜLENME(3237)
RAPOR ET
Bu dersimde karakterin tıkladığımız yere doğru gitmesini anlatıcam.
Öncelikle karakterin önceki derslerdeki hareket kodlarını siliyoruz. Önce isaret=0 adında bir değişken oluşturalım. sonra Tıkladığımız yere İşaret koyması için :
if mouse_check_button(mb_left) and isaret=0 {instance_create(obj_isaret); isaret=1}
Karakterin İşarete doğru gitmesi için :
if isaret=1 {move_towards_point(obj_isaret.x,obj_isaret.y,3)}

Karakterin işarete değidiğinde durması için karakterin işaret ile değime eventine :
speed=0; isaret=0;

işaretin karaktere değidiğinde kaybolması için işaretin karaktere değme eventine :
instance_destroy() 
yazalım.

video :




sbbzbb
sbbzbb 3 Yıl Önce Cevaplandı
Merhabalar öncelikle teşekkür ederim gerçekten çok yardımınız dokundu fakat sormak istediğim bişey var şimdi karakterimiz fareyle sol tıkladığımız yere giderken biz fikir değiştiriyoruz ve başka yere gitmesini istiyoruz acaba başka bi yere tıkaldığımız zaman isaret=1 kaybolup yeni bir isaret değişkeni oluşup karakterin oraya gitmesini nasıl sağlarız ...

ben ;

if mouse_check_button(mb_left) and isaret=0 {
instance_create(mouse_x,mouse_y,obj_isaret)
isaret=1
}
if isaret=1 {
move_towards_point(obj_isaret.x,obj_isaret.y,3)
image_angle = point_direction(x, y, obj_isaret.x,obj_isaret.y);
mouse_check_button(mb_left)
isaret=2
}
if isaret=2 {
move_towards_point(obj_isaret.x,obj_isaret.y,3)
image_angle = point_direction(x, y, obj_isaret.x,obj_isaret.y);
}

gibisinden bi kod yazdım fakat bu şekilde olmadı yardımcı olurmusunuz ?
xyztehlike
xyztehlike 3 Yıl Önce Cevaplandı
Kodun doğru başlamış ama yanlış bitmiş :) Şu an evde değilim gelince yardımcı olurum.
sbbzbb
sbbzbb 3 Yıl Önce Cevaplandı
şimdiden teşekkür ederim öğretmenim bu işe çok meraklıyım çok fazla eğitim izledim fakat en çok siz yardımcı oldunuz emeğinizden dolayı teşekkür ederim
xyztehlike
xyztehlike 3 Yıl Önce Cevaplandı
Kodlar bu şekilde olmalı :
if mouse_check_button_pressed(mb_left) and global.isaret=0 {
instance_create(mouse_x,mouse_y,obj_isaret)
global.isaret=1
}

if mouse_check_button_pressed(mb_left) and global.isaret=1 {
instance_deactivate_object(obj_isaret)
instance_create(mouse_x,mouse_y,obj_isaret)
}

if global.isaret=0 {
speed=0
}

if global.isaret=1 {
move_towards_point(obj_isaret.x,obj_isaret.y,5)
image_angle=(point_direction(x,y,obj_isaret.x,obj_isaret.y))
}


Eğer yapamazsan örnek de hazırladım : http://www.dosya.tc/server35/CgYN2L/Ornek.rar.html

Eğer yardım edebilmişsem ne mutlu bana :)
sbbzbb
sbbzbb 3 Yıl Önce Cevaplandı
Çok teşekkür ederim verdiğiniz kodu denedim ilk başta yapamadım fakat verdiğiniz örnek çok yardımcı oldu size bir soru daha sormak istiyorum // şimdi ben fareyle basılı tutarak fareyi gezdirdiğim zaman karakterin fareyi takip etmesini istiyorum ve 2. bir soru sormak istiyorum // şimdi diyelimki benim elimde ayakları olan ( :D ) bir adam spritesi var bu adamın ileri giderkenki spitesi farklı geri giderkenki farklı sağ,sol giderkenki farklı çapraz giderken farklı spriteleri var (umarım anlatabilmişimdir) şimdi bu spritelerin fareyi takip etmesini istiyorum fakat fare karakterin üstündeyse ileri giderkenki spritesi , fare adamın sağındaysa sağa giden spritesi , fare adamın solundaysa sola giden spritesinin feryi takip etmesi lazım bunu nasıl sağlayabiliriz...

ha bide eğitimlerinizi izliyorum çok güzeller hepsi birbirinden güzel bıkkınlık verdim eminim ama bir soru daha sormak istiyorum // şimdi benim hayalimde adada mahsur kaldığımızz kuş bakışlı görünen bir oyun var bu oyu survival / hayatta kalma tarzı bir oyun olmasını istiyorum , ağacın yanına geldiği zaman farklı bir spriteye dönüşerek sanki ağaca balta vururmuş gibi olucak ve ağaç oduna dönüşecek odunda envantere gelicek aynı şekilde taşa kazmayla vurucak ve taş envantere gelicek ve atıyorum taşla odunu birleştirerek kılız yapıp kullanıcaz bu şekilde bir oyunu yapmak için neleri öğrenmeliyim tavsiyeniz nedir ve beni bilgilendirirseniz çok sevinirim
xyztehlike
xyztehlike 3 Yıl Önce Cevaplandı
Global. bir değişken türüdür. Eğer bir değişkeni global olarak yaratırsan bütün objelerde kullanabilirsin ama o değişken tek olur mesela bir düşmana global.can diye bir değişken açtın eğer global.can ı 0 yaparsan ve global.can 0 olduğunda düşman ölecekse bütün düşmanlar ölür yani bütün objeler için kullanılır. Örneği incelersen yaparsın.
sbbzbb
sbbzbb 3 Yıl Önce Cevaplandı
çok teşekkür ederim globalın ne olduğunu öğrendim fakat halen diğer sorularıma cevap veriyorum bıkkınlık verdiysem özür dilerim cevap vermek istemiyorum demeniz yeterli :)
xyztehlike
xyztehlike 3 Yıl Önce Cevaplandı
He diğer soruları görmemişim 1.si mouse_check_button_pressed var ya onu pressed olmadan yazarsan basılı tutarken de olur.
2.si bu derste bulabilirsin : http://ustaderslik.com/konu/GameMaker_ile_8_Y%C3%B6ne_Hareket_Sistemi
3. sü bir sistem değil sistemler topluluğu olduğu için cevap veremeyeceğim yani bunu sorarak al oyunu yap bana ver demek gibi birşey :) Ama bu sistemlerin hepsini kendi derslerimde gösterdim. Envanter sistemini karakterin sprite ının değişmesini fln derslerimiz izlersen böyle bir oyun yapabilirsin. Kolay gelsin.
sbbzbb
sbbzbb 3 Yıl Önce Cevaplandı
Teşekkür ederim :)
monsterG
monsterG 2 Yıl Önce Cevaplandı
buradaki dersi anladım fakat ben başka bir şey yapmak istiyorum. karakterin tıkladığım yere hareket ederek değil de direk gelmesini istiyorum. bunu nasıl yapabilirim?
cArleone
cArleone 2 Yıl Önce Cevaplandı
@monsterG sorularını soru-cevapta sorabilirsin.
Soruna gelecek olursak,direk x ve y yi o konuma eşitle.
x=100;
y=50

gibi.bu şekilde direk oraya gider.
xemir4444x
xemir4444x 2 Yıl Önce Cevaplandı
if mouse_check_button(mb_left) and global.isaret=0 {

instance_create(mouse_x,mouse_y,obj_isaret)

global.isaret=1

}



if mouse_check_button(mb_left) and global.isaret=1 {

instance_deactivate_object(obj_isaret)

instance_create(mouse_x,mouse_y,obj_isaret)

}



if global.isaret=0 {

speed=0

}



if global.isaret=1 {

move_towards_point(obj_isaret.x,obj_isaret.y,5)

image_angle=(point_direction(x,y,obj_isaret.x,obj_isaret.y))

}

bu şekilde yaparsanız knight online tarzı kayarak hareket ettirebilirsiniz
sadece mouse komutundaki pressed i kaldırsanızda olur
tek tek tıklamaktan iyidir
mouse ömrünü uzatır:)



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