Skocz do zawartości

Dopasowanie pocisku do broni - lengthdir


Rekomendowane odpowiedzi

Nie mogę dopasować pocisku do lufy. Dodaje, odejmuje od x/y i wszystko się rozjeżdża. Z tego co rozumiem, to lengthdir_x/y to punkt styku linii x/y. Chyba, że jest jakiś sposób, dzięki któremu mogę ustawić punkt spawnu pocisków relatywnie do położenia i kąta broni. 

Na razie mam tak: 
oPistol - STEP

dir = point_direction(oPlayer.x, oPlayer.y, mouse_x, mouse_y)
x = oPlayer.x-2 + lengthdir_x(10, dir);
y = oPlayer.y-20 + lengthdir_y(10, dir);

//zmieniaj strony
if(digit_between(dir, 90, 270)) image_yscale = -abs(image_yscale); else image_yscale = abs(image_yscale);
image_angle = dir;


i obliczenia do pocisku
 

lx = x + lengthdir_x(40, dir);
ly = y + lengthdir_y(40, dir);

//rysuj gdzie powstanie pocisk
draw_sprite_ext(sBullet, 0, lx , ly, 1, 1, dir, c_white, 1)

//rysuj broń
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);

 


Origin broni (chyba ważne do tego):
image.png.c6b3e18e05eedcd5c72b0c8cbceca46d.png

 

 

Co daje mi to:
Dino.gif

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
19 minut temu, SimianVirus7 napisał:

 Co prawda będę musiał operować sprite_set_offset() przy np. skalowaniu ale chyba damy radę. 

Zakładam, że teraz pocisk jest rysowany za pomocą lenghtdir, więc prawdopodobnie wystarczy skalować argument length, oraz sam obrazek, bo origin zostaje w tym samym miejscu mimo skalowania (więc wykorzystaj to na swoją korzyść).

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

a lengthdirami rozwiązałbyś swój problem, gdybyś dodał do tego jeszcze  jedno przesunięcie - teraz przesuwasz pocisk tylko o 40 na jednej osi, chodziło Ci pierwotnie o coś plus minus takiego:

lx = x + lengthdir_x(40, dir) + lengthdir_x(10, dir - 90);
ly = y + lengthdir_y(40, dir) + lengthdir_y(10, dir - 90);

więc jak to zwierzątko w scratchu, idziesz 40 kroków w prawo i 10 kroków do góry

ps: kozacki sprite i kozacka animacja idle B)

  • Lubię (+1) 2
Odnośnik do komentarza
Udostępnij na innych stronach

Cytat

chodziło Ci pierwotnie o coś plus minus takiego

Dokładnie, ale nie pomyślałbym, żeby dać dwa razy lengthdira ?

 

kozacki sprite i kozacka animacja idle B)

Dziękuje, ale przyznaje się bez bicia, że to nie moje ? dino to jakieś darmówki z itcha, a bronie były za 2$

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ę
 Udostępnij

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

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