Skocz do zawartości

"Strzelanie do obiektów"


Markuz

Rekomendowane odpowiedzi

Heh to znów ja .. "Rozwiązałem" już problem chodzenia, budowania wierz itp. tworze gierkę typu tower defence, i nie mam pojęcia jak zrobić by:

- Gdy przeciwnik jest w zasięgu wierzy wtedy np. co 2 s odejmuje mu 1 życia

- Żeby nabój leciał w strone przeciwnika, zrobiłem tak że np. leci 100 px opadając, ale nie wiem jak zrobić by ten kierował się w przeciwnika

 

wszystko w 3D heh, prosze o pomoc :)

Odnośnik do komentarza
Udostępnij na innych stronach

Nigdy nie robiłem gier w 3D, ale zasięg bym robił tak.

GML (step)
if(sqrt(power(x-x0,2)+power(y-y0,2)+power(z-z0,2))<xyz&&moze)

{

hp-=1;

alarm[0]=2*room_speed;

moze=false;

}

GML (alarm0)
moze=true;

x, y i z to współrzędne obiektu, a x0, y0 i z0 to współrzędne wierzy. Wzór powyżej to wzór na obliczanie długości odcinka w przestrzeni. Jak nie chcesz aby współrzędne z i z0 były brane pod uwagę, wtedy dostajesz wzór na odległość odcinka na płaszczyźnie. W pierwszym przypadku dostajesz kulę, w drugim okrąg. Zmienna może ma zapobiegać ciągłemu odejmowaniu hp.

Odnośnik do komentarza
Udostępnij na innych stronach

Spoko, a jeszcze jedno pytanie jak obliczyć odległość (w px) obiektu 1 od obiektu 2?

GML
sqrt(power(x-x0,2)+power(y-y0,2)+power(z-z0,2))

Wzór powyżej to wzór na obliczanie długości odcinka w przestrzeni.

Poszukaj jeszcze informacji na temat funkcji, które zaokrąglają liczby do wartości całkowitych.

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