wezyrnorbert Opublikowano 18 Marca 2008 Udostępnij Opublikowano 18 Marca 2008 Możecie mi dokładnie opisać kod instance_nearest bo nie wiem co mam gdzie wpisać aby obj1 miał direction położenia najbliższego obj2. Jak to zrobić ??? :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maxpayn Opublikowano 18 Marca 2008 Udostępnij Opublikowano 18 Marca 2008 instance_nearest( xx, yy, obj ); zwraca najbliższy obiekt "obj" od pozycji xx i yy. Co do twojego drugiego pytania to: Obiekt obj1 GML var a; a = instance_nearest( x, y, obj2 ); direction = a.direction; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shockah Opublikowano 18 Marca 2008 Udostępnij Opublikowano 18 Marca 2008 GML near = instance_nearest(x,y,obj2); direction = point_direction(x,y,near.x,near.y); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
wezyrnorbert Opublikowano 18 Marca 2008 Autor Udostępnij Opublikowano 18 Marca 2008 ok thx działa a jaka jest komenda żeby to robił tylko jka obj2 jest widoczny na ekranie ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maxpayn Opublikowano 18 Marca 2008 Udostępnij Opublikowano 18 Marca 2008 widoczny i nie widoczny na zasadzie visible? jeśli tak to: GML var a; a = instance_nearest( x, y, obj2 ); if( a.visible ) direction = a.direction; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
wezyrnorbert Opublikowano 18 Marca 2008 Autor Udostępnij Opublikowano 18 Marca 2008 nie chodzi że gdy jest na ekranie- niema go poza ekranem, niewiem jak wytłumaczyć to mam .... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maxpayn Opublikowano 18 Marca 2008 Udostępnij Opublikowano 18 Marca 2008 Aha, jak tak to: GML var a; a = instance_nearest( x, y, obj2 ); if( a.x > view_xview[0] ) &&( a.x < view_wview[0] + view_xview[0] ) &&( a.y > view_yview[0] ) &&( a.y < view_hview[0] + view_yview[0] ) { direction = a.direction; } Ale ci chodzi o to żeby miał direction taki jak obj2? Czy był obrócony w stronę obj2? Bo jeśli obrócony w stronę obj2 to zamiast: GML direction = a.direction; daj: GML direction = point_direction( x, y, a.x, a.y ); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
wezyrnorbert Opublikowano 18 Marca 2008 Autor Udostępnij Opublikowano 18 Marca 2008 OK thx Maxpayn dziafa mi, a jeszcze jak zrobić losowe chodzenie, coś jak npc bo probowałem z klockiem ale jakoś dziwnie to wygląda :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maxpayn Opublikowano 18 Marca 2008 Udostępnij Opublikowano 18 Marca 2008 W ilu kierunkach? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
wezyrnorbert Opublikowano 18 Marca 2008 Autor Udostępnij Opublikowano 18 Marca 2008 360 stopni to hyba 8 ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harv Opublikowano 18 Marca 2008 Udostępnij Opublikowano 18 Marca 2008 CREATE NPC: Move Fixed, wsystkie kierunki, speed jaki chcesz; Alarm[0] na np. 100 ALARM[0]: Move Fixed, wszystkie kierunki, speed jaki chcesz; Alarm[0] na np. 100. Proste. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maxpayn Opublikowano 18 Marca 2008 Udostępnij Opublikowano 18 Marca 2008 yyy... 8? create: GML set_Dir = 0; next_Dir = 0; next_Dir_Set = 1; speed = 3; alarm[0] = random( 300 ); step: GML if( set_Dir ) { speed = 0; if( next_Dir_Set ) { next_Dir = choose( 0, 45, 90, 135, 180, 225, 270, 315 ); next_Dir_Set = 0; } if( direction > next_Dir ) direction -= 3; else if( direction < next_Dir ) direction += 3; else set_Dir = 0; } else { speed = 3; alarm[0] = random( 300 ); } alarm0: GML set_Dir = 1; next_Dir_Set = 1; Można tak aby obrót npc był w miare płynny. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
wezyrnorbert Opublikowano 18 Marca 2008 Autor Udostępnij Opublikowano 18 Marca 2008 Zaraz sprawdzę i odpowiem w edicie ale on ma direction na obj2 więc to nie działa mi nie chodzi o płynny obrót bo to narazie kulka tylko o chodzenie A może tako CREATE direction=random(360) speed=2 alarm[0]=200 ALARM0 direction=random(360) alarm[0]=200 Zrobiłem tak i działa ale propozycje nadal mile widziane :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę