Kargul Opublikowano 18 Października 2009 Udostępnij Opublikowano 18 Października 2009 Witam! Otóż robię grę TD (tower defence) i właśnie zajmuję się wieżyczką która strzela kamieniami. I poprosił bym kod na coś takiego: Jak ktoś się zbliży do wieżyczki (dystans tak z 50) to wieżyczka tworzy jednorazowo obiekt o_k_pocisk i ten pocisk leci w kierunku tego obiektu. Jak to zrobić? :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matyxon Opublikowano 18 Października 2009 Udostępnij Opublikowano 18 Października 2009 w obj_wieżyczka dajesz w step GML if point_distance(x,y,o_Wróg.y,o_Wróg.y)<50 { instance_create(x,y,o_k_pocisk) } w pocisku dajesz w create: GML direction = point_direction(x,y,o_Wróg.x,o_Wróg.y) speed = 3 E: jeszcze żeby nie leciały w kółko: wiezyczka create: Czas = 150 a tamten kod w stepie zastępujesz tym: GML Czas-=1 if point_distance(x,y,o_Wróg.y,o_Wróg.y)<50 && Czas<0 { instance_create(x,y,o_k_pocisk) Czas = 150 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kargul Opublikowano 18 Października 2009 Autor Udostępnij Opublikowano 18 Października 2009 Dzięki ale wyszło mi tak: ___________________________________________ ERROR in action number 1 of Step Event for object b_wieza_l_1: Error in code at line 1: if point_distance(x,y,demon1.x,demon1.y) { instance_create(x,y,b_w_1_pocisk) } at position 30: Unknown variable x Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 18 Października 2009 Udostępnij Opublikowano 18 Października 2009 Hah, przestań... nie dasz rady zrobić TD GML //create moze_strzelac=true //step wieżyczki if instance_exists(o_wrog) { najblizszy=instance_nearest(x,y,o_wrog) if distance_to_object(najblizszy)<50 && moze_strzelac=true { poc=instance_create(x,y,o_pocisk) poc.direction=point_direction(x,y,najblizszy.x,najblizszy.y) poc.speed=10 moze_strzelac=false alarm[0]=100 } } //alarm 0 moze_strzelac=true Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
boom Opublikowano 18 Października 2009 Udostępnij Opublikowano 18 Października 2009 w obj_wieżyczka dajesz w step GMLif point_distance(x,y,o_Wróg.y,o_Wróg.y)<50 { instance_create(x,y,o_k_pocisk) } w pocisku dajesz w create:GMLdirection = point_direction(x,y,o_Wróg.x,o_Wróg.y) speed = 3 wtedy tworzy pocisk w każdym stepie a trzeba by mu nadać jakiś timer. ja wrzuciłbym w stepa: GML if(instance_exists(o_wrog)) if(distance_to_object(instance_nearest(x,y,o_wrog)<50) if(wait = 0) { instance_create(x,y,o_pocisk) wait = 30 } if(wait>0) wait-=1 a w pocisk GML //create target = instance_nearest(x,y,o_wrog) //step if(instance_exists(target)) direction = point_direction(x,y,target.x,target.y) else instance_destroy() coś w ten deseń Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kargul Opublikowano 18 Października 2009 Autor Udostępnij Opublikowano 18 Października 2009 lenin: coś mi tam wyszło, jednak już się trochę w to pobawiłem i mniej więcej wiem o co biega. Tak więc już bawię się w to sam. :P Dzięki za zaangażowanie :thumbsup: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi