Skocz do zawartości

Uciekający przechodnie i czujni przeciwnicy


Bartek (Kamrat)

Rekomendowane odpowiedzi

Kiedy wy się nauczycie nazywać tematy w inny sposób niż "problem"? Ja chyba zacznę dawać ostrzeżenia za coś takiego. Jeśli powstanie, przypuśćmy, 20 tematów o takiej samej nazwie, to kto będzie wiedział, który jest który? Ewidentne zaśmiecanie forum!
Odnośnik do komentarza
Udostępnij na innych stronach

1) Jak zrobić żeby GRACZ jak biega z bronią, to przechodnie zaczeli uciekać?

2) Jak zrobić żeby PRZECIWNIK atakował gracza jak go widzi przed sobą? (nie z tyłu :P) Coś na styl Commandosów :P

 

Odpowiem Ci po "klikowsku", bo inaczej nie umiem :)

 

ad1:

 

Robisz detektor wokół gracza i czynisz go niewidzialnym, a potem:

 

Jeśli gracz weźmie broń > ustaw jakąśtam wartość na 1

 

Jeśli jakaśtam wartość jest 1 + przechodzień koliduje z detektorem > uciekaj przechodzeń (kierunek odwrotny do kierunku gracza)

 

ad2: Hmmm... Musisz narysować linie i spowodować aby zawsze była przed przeciwnikiem. Jeśli gracz koliduje z linia > atak

 

Można to też zrobić za pomocą kierunków, czyli jeśli gracz jest ileśtam pixeli od przeciwnik + mają przeciwny kierunek > atak...

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Co do wykrywalnosci dystansu, to najłatwiejszym sposobem jest dać ludkom w step pomiar odległości do gracza np poprzez distance_to_point(x,y,x2,y2); I dac pomiar w warunek. Jednak nie jest to zbyt wydajne rozwiazanie, dlatego tez najlepsze bedzie tutaj rozwiazanie jakie uzywaja klikowcy. :) Stworz duzy obiekt kolo, ktory podaza za graczem i zrob go niewiedzialny. Teraz temu kolu daj zdarzenie kolizji z ludkami, w tym zdarzeniu potem dajesz oczekiwana akcje. W eventach kolizyjnych dziala dodatkowa zmienna o nazwie other, ktora oznacza obiekt kolizyjny. Uzywa sie go jak zwyklego obiektu czy id, np other.direction = point_direction(other.x,other.y,nazwa_gracza.x,nazwa_gracza.y);

if ( keyboard_check( ord('C') ) )
{
if ( keyobard_check( vk_left ) )
{
//tutaj akcja chodzenia kucając w lewo
}
else if ( keyboard_check( vk_right ) )
{
//analogicznie jak powyzej, tylko w prawo
}
}

 

KayteK: Czemu nie sprobujesz cos stworzyc w GM'ie? To nie jest wcale takie trudne. :)

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