Skocz do zawartości

lengthdir_x


hudy0070

Rekomendowane odpowiedzi

Lengthdir ta opcja jest mi w ogóle nie znana dlatego chciałbym się zapytać jak ją dokładnie zrobić.

Mam obiekt Hero, i obiekt pocisk. Hero ma lufę z której ma strzelać pocisk ale tak się nie dzieje. UŻYŁEM opcji szukaj no i znalazłem to lengthdir ale w ogóle nie czaje jak mam tego użyć, można prosić o pomoc?

Odnośnik do komentarza
Udostępnij na innych stronach

mam nadzieje ze nie palne jakiejs glupoty.

najprostrzy przykład:

61292b7e33.gif

przy tworzeniu pocisku we współrzedne dajesz:

x=hero.x+lenghtdir_x(r,<<kąt o ile ma sie odchylic od kierunku obiektu bazowego>>)

y=hero.y+lenghtdir_y(r,<<kąt o ile ma sie odchylic od kierunku obiektu bazowego>>)

w wypadku mojego bazgroła to bedzie:

 

x=hero.x+lengthdir_x(999,hero.direction+45)

y=hero.y+lengthdir_y(999,hero.direction+45)

 

w ten sposob pociski beda pojawiac sie w punkcie odleglym o 999 pixeli, odchylonym od kierynku 0 obiektu hero o 45 stopni

 

jak napisalem jakas glupote to mnie poprawcie ;)

Odnośnik do komentarza
Udostępnij na innych stronach

FATAL ERROR in
action number 1
of Create Event
for object pocisk_o:

COMPILATION ERROR in code action
Error in code at line 4:
   x=hero_o.x+lenghtdir_x(25,hero_o.direction+40)

at position 13: Unknown function or script: lenghtdir_x

what a?!

 

EDIT:

źle było zapisane xD t z h pomyliłeś miejscami xD

Odnośnik do komentarza
Udostępnij na innych stronach

zrobie ci przykładzik, poczekaj chwile a znajdziesz tu linka...

 

no i jest : https://gmclan.org/up3255_11_lengthdir.html

 

moze nie oto ci chodzilo: popatrz na sprite postaci swojej, pomysl w jakiej odleglosci od postaci ma sie pojawic pocisk, i o ile stopni musisz przekrecic ten punkt aby znalazl sie na lufie broni...

Odnośnik do komentarza
Udostępnij na innych stronach

Dalej mi nie wychodzi ;/ a Twój przykład też typek strzela ale nie dokładnie z lufy. Nie dało by się tego zrobić z image_xscale?

bo to jest przyklad demonstrujacy zasade dzialania a nie przepis na gotowe (i tak nie znam rozmiarow twojej grafiki), zeby strzelal dokladnie z lufy, musisz ustawic kat (dir), a potem poexperymentowac z odlegloscia (len). Trza troche ruszyc glowa, popracowac, a nie: "Nie dziala, buuuu... :crying: "

Odnośnik do komentarza
Udostępnij na innych stronach

Hmm. pokaże inny przykład. Ustalmy sobie promień, np. :

GML
r = 100;

Przyda się także ilość kulek:

GML
max = 6;

Oraz przejście:

GML
add = 0;

No i narysujmy je:

GML
for( i = 0; i < max; i += 1; )

{

_x = lengthdir_x( r, i * ( 360 / max ) + add );

_y = lengthdir_y( r, i * ( 360 / max ) + add );

draw_circle( 200 + _x, 200 + _y, 8, false );

}

Teraz rozumiesz ?

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