Skocz do zawartości

move_towards... .


Rekomendowane odpowiedzi

A więc mam coś takiego :

Step:

GML
xx = mouse_x;

yy = mouse_y;

sp = 2;

if mouse_check_button_released(mb_left) {

move_towards_point(xx,yy,sp);

if x = xx && y = yy {

officer_o.speed = 0;

}

}

if mouse_check_button_released(mb_right) {

officer_o.speed = 0;

}

Draw:

GML
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha);

if (mouse_check_button(mb_left)) {

draw_set_color(c_red);

draw_line(x,y,xx,yy);

}

1. Jak zrobić że dana jednostka ( tutaj akurat oficer ) miała by ileś tam ruchu np. 30 i jeżeli ta linia wyszłaby za to 30 to rysowała by się na inny kolor?

2. Jak nacisnę LPM to oficer idzie do danego miejsca ale gdy jest tam gdzie być powinien nie zatrzymuje się, co zrobić żeby się zatrzymał?

Odnośnik do komentarza
Udostępnij na innych stronach

2. Sorry za wcześniejsze, troszkę namieszałem.

Podmień swój kod w step na ten:

GML
if mouse_check_button_pressed(mb_left) {

xx = mouse_x;

yy = mouse_y;

}

sp = 2;

if mouse_check_button_released(mb_left) {

move_towards_point(xx,yy,sp);

if x = xx && y = yy {

officer_o.speed = 0;

}

}

if mouse_check_button_released(mb_right) {

officer_o.speed = 0;

}

Odnośnik do komentarza
Udostępnij na innych stronach

Create:

GML
px = x;

py = y;

Global Left Pressed:

GML
px = mouse_x;

py = mouse_y;

Step:

GML
if (distance_to_point(px,py)+3<5) mp_potential_step(px,py,3,false);

 

Tu masz na chodzenie, a co do tej ilości kroków to pokombinuj trochę ;) Na pewno Ci się uda

Odnośnik do komentarza
Udostępnij na innych stronach

Dałem sobie radę skorzystałem z chodzenia z almory ;p

a co do punktu pierwszego to nie wiktoś jak to zrobić?

EDIT:

 

co do punktu 1. mam tak

Draw:

GML
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha);

if (mouse_check_button(mb_left)) {

draw_set_color(merge_color(c_red,c_green,Max));

draw_line(x,y,xx,yy)

}

draw_text(10,10,'Ruch: '+string(Max));

problem w tym że dopiero jak mi się skończy Ruch(Max) to kolor zmienia się na czerwony a ja chcę żeby zielona linia była rysowana dotąd gdzie kończy się Max a dalej na czerwono

Odnośnik do komentarza
Udostępnij na innych stronach

Poczekaj chwilę, zaraz coś takiego zrobię :)

 

EDIT:

 

Draw:

GML
draw_sprite(sprite_index,image_index,x,y);

draw_set_color(c_green);

draw_line(x,y,x+lengthdir_x(40,point_direction(x,y,mouse_x,mouse_y)),y+lengthdir_y(40,point_direction(x,y,mouse_x,mouse_y)));

draw_set_color(c_red);

draw_line(x+lengthdir_x(40,point_direction(x,y,mouse_x,mouse_y)),y+lengthdir_y(40,point_direction(x,y,mouse_x,mouse_y)),mouse_x,mouse_y);

Odnośnik do komentarza
Udostępnij na innych stronach

Nie za bardzo to wyszło, niby drawuje tą linię i część jest zielona i część czerwona ale czerwona linia nie jest odpowiednikiem ruchu jest dużo przykrótka i jeżeli postać się porusza to ta zielona linia razem z nią, ale i tak dzięki za chęci :)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...