Skocz do zawartości

Obracanie postaci.


Marrac

Rekomendowane odpowiedzi

Mam mały problem z obracaniem postaci. Postać obraca się względem pozycji myszki. No i tutaj występuje mały problem z obracaniem w prawo, ponieważ postać nie chce obracać się w prawo a w każdą inną stronę obraca się bez zarzutu. Nie wiem dlaczego i w czym jest błąd. Daje tutaj kod.

dir=point_direction(x,y,mouse_x,mouse_y)

if (dir > 135 && dir < 225)sprite_index=Lewo

if (dir > 315 && dir < 45)sprite_index=Prawo

if (dir > 225 && dir < 315)sprite_index=Dol

if (dir > 45 && dir < 135)sprite_index=Gora

 

Proszę o pomoc.

Marrac.

 

EDIT:

Sorry. Miało być 45. Nie wiem dlaczego dałem kod z 46 :P. Lecz z 45 też nie działa.

Odnośnik do komentarza
Udostępnij na innych stronach

W zasadzie to prawidłowy kod powinien być taki:

dir=point_direction(x,y,mouse_x,mouse_y)

if (dir >= 135 && dir < 225)sprite_index=Lewo

if (dir >= 315 or dir < 45)sprite_index=Prawo

if (dir >= 225 && dir < 315)sprite_index=Dol

if (dir >= 45 && dir < 135)sprite_index=Gora

Rozumie się to samo przez się: przecież kierunek nie może być jednocześnie mniejszy od 45 i większy od 315. :P

Odnośnik do komentarza
Udostępnij na innych stronach

W zasadzie można to uprościć.

var d;
d = ( ( point_direction( x, y, mouse_x, mouse_y ) + 45 ) div 90 ) mod 4;

switch( d )
{
     case 0: sprite_index = Prawo; break;
     case 1: sprite_index = Gora; break;
     case 2: sprite_index = Lewo; break;
     case 3: sprite_index = Dol; break;
}

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