Skocz do zawartości

Ruch i przesuwanie skrzynek


Rekomendowane odpowiedzi

robimy Sokobana?

W kolizji ze skrzynką:

if (hspeed < 0) && (place_free(other.x - 32,other.y)) other.x -= 32;
if (hspeed > 0) && (place_free(other.x + 32,other.y)) other.x += 32;
if (vspeed < 0) && (place_free(other.x,other.y - 32)) other.y -= 32;
if (vspeed > 0) && (place_free(other.x,other.y + 32)) other.y += 32;

UWAGA! Mogą wystąpić błędy ze względu braku testów praktycznych.

Odnośnik do komentarza
Udostępnij na innych stronach

tak myślałem.

W stepie skrzynki

 if (keyboard_check(vk_left) && (position_meeting(x+4,y,hero)) x -= 4;
if (keyboard_check(vk_right) && (position_meeting(x-4,y,hero)) x += 4;
if (keyboard_check(vk_up) && (position_meeting(x,y+4,hero)) y -= 4;
if (keyboard_check(vk_down) && (position_meeting(x,y-4,hero)) y += 4;

Proszę działaj.

UWAGA! Mogą wystąpić błędy ze względu braku testów praktycznych.

Odnośnik do komentarza
Udostępnij na innych stronach

Może tak?

 

STEP SKRZYNKI:

if keyboard_check(vk_left) and place_meeting(x+4,y,bohater) and place_free(x-4,y) then x-=4;
if keyboard_check(vk_right) and place_meeting(x-4,y,bohater) and place_free(x+4,y) then x+=4;
if keyboard_check(vk_up) and place_meeting(x,y+4,bohater) and place_free(x,y-4) then y-=4;
if keyboard_check(vk_down) and place_meeting(x,y-4,bohater) and place_free(x,y+4) then y+=4;

if keyboard_check(vk_left) and place_meeting(x+4,y,bohater) and not place_free(x-4,y) then bohater.hspeed=0;
if keyboard_check(vk_right) and place_meeting(x-4,y,bohater) and not place_free(x+4,y) then bohater.hspeed=0;
if keyboard_check(vk_up) and place_meeting(x,y+4,bohater) and not place_free(x,y-4) then bohater.vspeed=0;
if keyboard_check(vk_down) and place_meeting(x,y-4,bohater) and not place_free(x,y+4) then bohater.vspeed=0;

 

Może nie działać.

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ę...