Sminer Opublikowano 3 Lutego 2013 Udostępnij Opublikowano 3 Lutego 2013 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 Więcej opcji udostępniania...
XBlacKX Opublikowano 3 Lutego 2013 Udostępnij Opublikowano 3 Lutego 2013 Ja uważam że najprościej będzie dać niewidzialny obiekt wychodzący z przeciwnika do przodu, po kolizji z graczem zmienna zauwazony = 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
exp Opublikowano 3 Lutego 2013 Udostępnij Opublikowano 3 Lutego 2013 https://gmclan.org/index.php?sciagnijplik=87 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sminer Opublikowano 3 Lutego 2013 Autor Udostępnij Opublikowano 3 Lutego 2013 Mam wiele zolnierzy obruconych w wiele stron a po za tym niektorzy sie poruszaja wiec ta mozliwosc odpada :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sminer Opublikowano 3 Lutego 2013 Autor Udostępnij Opublikowano 3 Lutego 2013 nie ma jakiegos prostrzego sposobu cos typu : if ludzik jest z odwrotnej strony Zolnierz.direction lub o 50(stopni) w lewo i w prawo { zauwazony = 1 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XBlacKX Opublikowano 3 Lutego 2013 Udostępnij Opublikowano 3 Lutego 2013 No to podałem Ci sposób jak to zrobić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 3 Lutego 2013 Udostępnij Opublikowano 3 Lutego 2013 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 Więcej opcji udostępniania...
karolo320 Opublikowano 3 Lutego 2013 Udostępnij Opublikowano 3 Lutego 2013 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 Więcej opcji udostępniania...
Sminer Opublikowano 3 Lutego 2013 Autor Udostępnij Opublikowano 3 Lutego 2013 Nie wiem czemu ale ten sposob mi nie za dobrze dziala... Albo widzi mnie zawsze, albo wcale mnie nie widzi... Zmiana katow tez praktycznie nic nie zmienia... Nie wiem jak to ustawic :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 3 Lutego 2013 Udostępnij Opublikowano 3 Lutego 2013 GML if(distance_to_object(zolnierz) <=50) { //kod karolo320 lub moj } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sminer Opublikowano 3 Lutego 2013 Autor Udostępnij Opublikowano 3 Lutego 2013 W sumie troche pomyslalem i pomysl XBlackX nie jest w sumie taki zly :) Troche pokombinowalem i nawet niezle to wyszlo :D Wielkie dzieki all Temat Zamkniety Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi