Skocz do zawartości

Trochę pytań - ruch na kratce, przechodzenie miedzy pokojami


Rekomendowane odpowiedzi

Witam, mógłby ktoś pomóc w takich paru sprawach?

1. Jak zrobić poruszanie po kratce tak, żeby przykładowo gracz klikał na jakimś miejscu na mapie, a bohater podchodzi do niego równo z kratką (wielkość przypuśćmy 32x32)i nie szedł tak sobie po prostej, tylko wyszukiwał drogę mając do wyboru tylko pion i poziom (cztery kierunki)?

2. Da się zrobić takie cuś, żeby przechodząc między pokojami zapamiętywały się wszystkie zmienne, pozycje postaci i tak dalej? Na przykład kiedy bohater wchodzi z room_budynek do room_miasto to żeby pojawiał się w miejscu w którym był ostatnio a nie w tym w którym rozpoczynał się room

Odnośnik do komentarza
Udostępnij na innych stronach

1.

GML (Create)
gotox = x;

gotoy = y;

GML (Global Left Released)
gotox = (mouse_x div 32) * 32;

gotoy = (mouse_y div 32) * 32;

GML (STEP)
if( x != gotox )

{

x += 32;

exit;

}

if( y != gotoy )

{

y += 32;

}

Ps: Kod z stepa lepiej dać w alarmie, inaczej będzie bardzo szybko się poruszał.

UP: Źle, ustaw "Persistent" w roomie.

Odnośnik do komentarza
Udostępnij na innych stronach

1. x+32, x-32, y+32, y-32 ;P

A jeśli chcesz aby płynnie chodził to dajesz dwie zmienne

xd=x, yd=y ruch =false w create

potem w step odpowiednio zwiększasz lub zmniejszasz zmienne xd lub yd np:

GML
if (keyboard_check_pressed(vk_up) && place_free(x,y-32) && ruch==false) {

xd=x

yd=y-32

ruch =true

}

następnie gdzieś dalej dajesz

GML
if(ruch==true) {

move_towards(xd,yd,4) /*nie pamiętam dokładnie tej funkcji w każdym razie razie

chodzi o to aby poszedł do współrzędnych (xd,yd) z prędkością 4, prędkość musi

dzielić liczbę 32 bez reszty inaczej się nie zatrzyma*/

}

if(x==xd && y==yd) {

ruch=false

}

powinno działać. ;P

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