Skocz do zawartości

"Gonienie"


Morro

Rekomendowane odpowiedzi

Nie potrafię za cholerę zrobić dobrze to, żeby:

Mob po zobaczeniu biegł do mnie (ciągle collision line jest false bo nic mu nie przerywa) ale jeśli znikne mu z oczu (collision line jet true, bo weszłem za jakąś ścianę) gonił mnie przez np. sekundę po czym rezygnował. Doszłem do czegoś takiego ale to jest stek bzdur ale komuś może pomoże w zrozumieniu.

GML
//STEP

if collision_line(enemx,enemy,o_herohead.x,o_herohead.y,o_wall,false,false)

widzi=0

else

widzi=1

 

if niewidzi=1

if widzi = 1

goni=1

 

 

if niewidzi=0

{

if collision_line(enemx,enemy,o_herohead.x,o_herohead.y,o_wall,false,true)

niewidzi=1

widzi=0

alarm[1]=5

}

 

 

if goni=1

mp_potential_step(o_herohead.x,o_herohead.y,spd-slow,1);

 

//ALARM

if niewidzi=1

{

goni=0

niewidzi=0

}

else

alarm[1]=150

Odnośnik do komentarza
Udostępnij na innych stronach

jak przypisujesz te zmienne enemx i enemy?

 

według mnie powinno być tak:

GML
[create]

widzi = false

goni = false

 

[step]

if ( collision_line( x, y, o_herohead.x, o_herohead.y, o_wall, false, false ) > 0 )

widzi = false

else

widzi = true

 

if ( widzi == true ) goni = true

 

if ( goni == true )

{

mp_potential_step( o_herohead.x, o_herohead.y, 3, false )

if ( widzi = false ) if ( alarm[ 0 ] = -1 ) alarm[ 0 ] = room_speed //1sek

}

 

[Alarm0]

goni = false

Odnośnik do komentarza
Udostępnij na innych stronach

te zmienne są tak

if instance_exists(o_enemy1)

{

enemx=self.x

enemy=self.y

}

ale ten twój sposób nie trybi bo gonią w nieskończoność

a hudego nie przestaje gonić po czasie tylko momentalnie gdy straci z oczu

 

EDIT:

Moja skucha - alarm dałem zamiast 1 to 0 i dlatego nie stopował

EDIT 2 :

działa jak należy , DZIĘKI

Odnośnik do komentarza
Udostępnij na innych stronach

Przeczytałem: "Golenie" ;d

 

A ja nie wiem co jest z tym collision_line bo on tu ma ze if collision_line[...] samo a przeciez chyba trzeba dać noone?

Mi ktos kiedys powiedzial ze trzeba noone albo !noone jak sie chce collision_line i inne sprawdzic bo na false i true nie działa.. to czemu jemu działa?

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