Çözüldü GameMaker Studio 2 kodum çalışmıyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

1LoLCu1

Hectopat
Katılım
31 Aralık 2020
Mesajlar
179
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
" alien1Speed=4 x=irandom_range(0,room_width) y=irandom_range(0,room_height) if(x>global.hummanX+100 or y>global.hummanY+100 or x<global.hummanX-100 or y>global.hummanY-100) { instance_create_layer(x=irandom_range(0,room_width),y=irandom_range(0,room_height),layer,obj_Alien1); instance_destroy() } " Kod bu "Create" eventinde kurdum. Karakter oluştuğunda eğer insanımıza 100 pixsel yakınlıkta oluşursa kaybolmasını ve 2. sinin oluşmasını istiyorum ama düşmanı oluşturma tuşuna bastığımda yakınımda doğarsa böyle bir hata alıyorum " ___________________________________________ ############################################################################################ ERROR in action number 1 of Create Event for object obj_Alien1: PerformEvent recursion depth failure - check for infinite loops, check objects for parenting at gml_Object_obj_Alien1_Create_0 (line 9) - instance_create_layer(x=irandom_range(0,room_width),y=irandom_range(0,room_height),layer,obj_Alien1); ############################################################################################ gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_obj_Alien1_Create_0 (line 9) gml_Object_Obj_Humman_Step_2 (line 54) " Buda oluşturma kodum. " if (keyboard_check_pressed(ord("E"))) { instance_create_layer(x=irandom_range(0,room_width),y=irandom_range(0,room_height),layer,obj_Alien1); } "
 
Çözüm
Yasak değil mi?

Muhtemelen evet.
Her neyse.
Şimdi burada kullandığın: if(x>global.hummanX+100 or y>global.hummanY+100 or x<global.hummanX-100 or y>global.hummanY-100) { yerine
Collison Circle kodunu kullansan daha iyi olur gibi. Collison Circle Rehber
Bunu bir dene bence.
Kısaca anlatmam gerekirse bu kodla karakterinin etrafında bir yuvarlak collison alanı oluşturup ( belli boyutlarda) ve uzaylın bu yuvarlağın içindeyse yok edip tekrar oluşturabileceğin bir kod yazabilirsin.
1672057821726.png
Yasak değil mi?

Muhtemelen evet.
Her neyse.
Şimdi burada kullandığın: if(x>global.hummanX+100 or y>global.hummanY+100 or x<global.hummanX-100 or y>global.hummanY-100) { yerine
Collison Circle kodunu kullansan daha iyi olur gibi. Collison Circle Rehber
Bunu bir dene bence.
Kısaca anlatmam gerekirse bu kodla karakterinin etrafında bir yuvarlak collison alanı oluşturup ( belli boyutlarda) ve uzaylın bu yuvarlağın içindeyse yok edip tekrar oluşturabileceğin bir kod yazabilirsin.
1672057821726.png
 
Çözüm
Muhtemelen evet.
Her neyse.
Şimdi burada kullandığın: if(x>global.hummanX+100 or y>global.hummanY+100 or x<global.hummanX-100 or y>global.hummanY-100) { yerine
Collison Circle kodunu kullansan daha iyi olur gibi. Collison Circle Rehber
Bunu bir dene bence.
Kısaca anlatmam gerekirse bu kodla karakterinin etrafında bir yuvarlak collison alanı oluşturup ( belli boyutlarda) ve uzaylın bu yuvarlağın içindeyse yok edip tekrar oluşturabileceğin bir kod yazabilirsin.
Eki Görüntüle 1614358
Teşekkür ederim kodu"

Kod:
alien1Speed=4

x=irandom_range(0,room_width)

y=irandom_range(0,room_height)

if collision_circle(x,y,100,Obj_Humman,false,true)
{
    instance_create_layer(x=irandom_range(0,room_width),y=irandom_range(0,room_height),layer,obj_Alien1);
    instance_destroy()
}

"bu hale getirerek çözdüm
 

Geri
Yukarı