Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

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

  • Administratorzy
Opublikowano
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ść).

  • Filar Społeczności
Opublikowano

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)

Opublikowano
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$

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