Skocz do zawartości

Szczelanie i lengthdiry


Rekomendowane odpowiedzi

Joł.

Mam problem - w mojej grze (widok od boku), gracz składa się z 3 obiektów - ręki, drugiej ręki i ciała gracza, w celu uzyskania efektu polegającego na tym, że ręce obracają się w kierunku myszki.

Strzelanie oczywiście ma wyglądać tak, że pociski wylatują z lufy pistoletu, a nie z ramienia, na które jest ustawiony origin. Skorzystałem więc z lengthdirów (czy jak to się pisze), ale niestety nie działają one tak, jak bym chciał - gdy bohater obrócony jest idealnie na prawo razem z rękami (co też jest problemem), pociski wylatują dobrze, jednak, gdy jest obrócony w lewą stronę - pociski lecą dalej z prawej strony.

 

Tak wygląda kod na strzał :

GML
if szot=0

{

s=instance_create(x+lengthdir_x(99,image_angle),y+lengthdir_y(30,image_angle),o_bul)

s.direction=o_playah.image_angle

szot=1

alarm[0]=0.3*room_speed

}

 

Czy ktoś mógłby mi wskazać, gdzie mam błąd?

 

Dzięki!

Odnośnik do komentarza
Udostępnij na innych stronach

Prawdopodobnie chodziło o:

x+30+lengthdir_x(69,image_angle),y+lengthdir_y(69,image_angle)

Choć mogę się mylić. Generalnie, jeżeli chcesz, żeby coś obracało się wokół punktu oddalonego o gracza o jakieś x i jakieś y, musisz dać trzy liczby: x/y, odległość x/y od pierwszej liczby i lengthdir_x/y(liczba,liczba).

Odnośnik do komentarza
Udostępnij na innych stronach

s_playah_reka.png

Taki jest sprajt, orgin jest x22 y30 ustawiony.

Szczelanie takie :

GML
if szot=0

{

s=instance_create(x+image_xscale*lengthdir_x(79,image_angle),y+image_xscale*lengthdir_y(79,image_angle),o_bul)

s.direction=o_playah.image_xscale

szot=1

alarm[0]=0.3*room_speed

}

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