Skocz do zawartości

Zablokowane Zajscie od tyłu


Sminer

Rekomendowane odpowiedzi

Witajcie !

Mam nastepujacy problem..

 

Chcę zrobić tak, aby moj ludzik, gdy zblizy sie do żolnierza od tylu nic sie nie dzialo, a jesli od przodu to zmienna zauwazony = 1...

To chyba mozna zrobic z direction ale nie mam pomyslu jak to zrobic :/

Odnośnik do komentarza
Udostępnij na innych stronach

GML
var zdir;

zdir=zolnierz.direction;

if(zolnierz.direction >= 180) zdir-=180; else zdir+=180;

if (ludzik.direction >= zdir-50 && ludzik.direction <= zdir+50)

{

zauwazony=1;

}

Mam nadzieję że się gdzieś nie walnąłem :P

 

Żeby było krócej możesz zrobić tak:

GML
//SKRYPT: flip_dir

if(argument0 >= 180) return argument0 -= 180; else return argument0 +=180;

 

GML
if (ludzik.direction >= flip_dir(zolnierz.direction)-50 && ludzik.direction <= flip_dir(zolnierz.direction)+50)

{

zauwazony=1;

}

Odnośnik do komentarza
Udostępnij na innych stronach

masz 2 kąty - direction żołnierza i kąt od żołnierza do postaci. Musisz różnice z nich zrobić. Oto nieoptymalny i dziadoski sposób:

 

GML
zmienna=(abs(point_direction(zolniez.x,zolniez.y,x,y)-zolniez.direction))

if(zmienna>180)

zmienna=abs(zmienna-360)

 

if zmienna<90{// tutaj mozesz dac inny kat

jestes obrocony do zolnieza

}else{

nie

}

 

edit:

buuu, utermiko, buuuu moje lepsze

direction postaci chyba nie ma nic do rzeczy ;x

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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