Marot Opublikowano 19 Lutego 2007 Udostępnij Opublikowano 19 Lutego 2007 No więc zacznijmy... Chcę zrobić IQ ludzika do platformówki. Powinien on: 1) Gdy 1px pod nim jest miejsce wolne, spadać w dół. Gdy jest tam ziemia, powinien ruszyć w jakąś stronę. 2) Gdy 100px przed nim ( w kierunku w którym idzie ) znajduje się ziemia, a) powinien zatrzymać się i pomyśleć. B) jeśli 100px w kierunku ruchu i 150px w górę nie ma ziemi, powinien tam wskoczyć. c) jeśli warunek w B) nie jest spełniony powinienzawrócić. 3) Gdy 1px pod nim jest ziemia i 100px w prawo i 1px w dół nie ma ziemi to powinien się zatrzymać i pomyśleć a) jeśli 100px w prawo i <=150px w dół jest ziemia, to powinien iść dalej (najwyżej sobie wskoczy z powrotem) B) jeśli nie, to powinien zawrócić, bo inaczej spadnie. :boxed: Jeśli robię na klockach (a na klockach robię to, co mi w kodzie nie wycjodzi), to używam i działa. A jakiej komendy mam użyć w kodzie zamiast tego?? Chodzi o to by wykrywało, czy obiekt się tam znajduje, ale nie punkt na którym leży, tylko czy kawałek jego sprita tam zawadza?? Czy jest to kolizja, np. komendy typy: collision_point, collision_line Czy wolna przestrzeń, np. position_empty, :] Czy miejsce spotkania, np. position_meeting ?? Które z tych poleceń dotyczy mojego przypadku?? Może ktoś by wytłumaczyć, które jest od czego?? :sp_ike: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 19 Lutego 2007 Udostępnij Opublikowano 19 Lutego 2007 Użyj place_free. W sumie i tak trzeba tutaj by trochę pokombinować. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shylios Opublikowano 19 Lutego 2007 Udostępnij Opublikowano 19 Lutego 2007 Zobacz na mojej stronie w download w przykładach, tam jest przykład AI komputera w platformówce :D shylios.yoyo.pl Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 19 Lutego 2007 Udostępnij Opublikowano 19 Lutego 2007 https://gmclan.org/up152_11_ai.html 5min roboty. Sam napisałeś wszystkie warunki - ja je tylko zkodowałem. ;3 W sumie działa to tak jak trzeba, jednak nie zabezpiecza przed kilkoma bugami. EDIT No dobra. xD Już zabezpiecza. Ten sam link. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marot Opublikowano 20 Lutego 2007 Autor Udostępnij Opublikowano 20 Lutego 2007 Twój przykład działa, jeśli jedynem obiektem innym niż ludzik jest przeszkoda. A chodzi o to, by przeszkodą był tylko grunt. Ludzik powinien przechodzić swobodnie obok innych rzeczy, typu drzewo, krzaczek, inny ludzik. Więc którego polecenia mam użyć, skoro chodzi o ...(kolizję, spotkanie, czy jeszcze jakieś inne coś) z objektem ziemia (u mnie jest klok_h)?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marot Opublikowano 23 Lutego 2007 Autor Udostępnij Opublikowano 23 Lutego 2007 To w końcu którego polecenia z zapisanych w pierwszym poście mam użć?? Czy ktoś jest w stanie mi pomóc?? place_free odnosi się, że jeśli jest tam dowolny obiekt, a mi chodzi tylko o jeden, który ma zauważać, a na pozostałe (będzie ich wiele) ma nie reagować! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marmot Opublikowano 23 Lutego 2007 Udostępnij Opublikowano 23 Lutego 2007 Może spróbuj: collision_point(x,y,obj,prec,notme) This function tests whether at point (x,y) there is a collision with entities of object obj. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 23 Lutego 2007 Udostępnij Opublikowano 23 Lutego 2007 Dowolny obiekt z solid = true. Btw. place_meeting(x,y,obj) Działa tak jak place_free tylko że sprawdza czy z obj jest kolizja. :) 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ę