Scorpion Opublikowano 30 Marca 2007 Udostępnij Opublikowano 30 Marca 2007 Pytania typu "znajdź najbliższy objekt były już zadawane, ale mnie chodzi o to, żeby znaleźć najbliższy objekt znajdujący się na danym obszarze. Obszar ten ma być prostokątny tak, jak Collision_rectlange. Potrzebuję zrobić AI do gry, więc sami wiecie... Z góry dziękuje za pomoc. :bye1: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 30 Marca 2007 Udostępnij Opublikowano 30 Marca 2007 i = instance_nearest( x, y, obj ); xx1 = x punkt 1; yy1 = y punkt 1; xx2 = x punkt 2; yy2 = y punkt 2; if( !( i.x > min( xx1, xx2 ) && i.x < max( xx1, xx2 ) && i.y > min( yy1, yy2 ) && i.y < max( yy1, yy2 ) ) ) i = noone; W i masz id tego obiektu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hanjuso Opublikowano 30 Marca 2007 Udostępnij Opublikowano 30 Marca 2007 Ha! To sie nie sprawdzi! Przedstawie to za pomoca rysunku... Obiekt A to obiekt, ktory poszukuje najblizszego obiektu B na wyznaczonym obszarze, zaznaczonym na rysunku kolorem rozowym. Po wykonaniu kodu Tymona obiekt A nie znajdzie obiektu B ktory jest wewnatrz obszaru, bo blizej jest inny obiekt B, poza obszarem. Nie chce mi sie pisac rozwiazania ale trzeba 'przeleciec' po wszystkich obiektach, sprawdzic czy sa na obszarze i znalesc najblizszy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 31 Marca 2007 Udostępnij Opublikowano 31 Marca 2007 dokładnie :P A to co podał tymon to wogole... nie rozumiem xD On chyba tez nie zrozumiał na czym koledze zalezy xD A w sumie... hmm.... chyba dałoby się to łatwo załatwić używajac with(obiektB) :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hanjuso Opublikowano 31 Marca 2007 Udostępnij Opublikowano 31 Marca 2007 trzeba 'przeleciec' po wszystkich obiektach dałoby się to łatwo załatwić używajac with(obiektB)with wykonuje kod po kolei we wszystkich obiektach podanych w nawiasie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 31 Marca 2007 Udostępnij Opublikowano 31 Marca 2007 wiem ^^ wlasnie skonczylem przyklad ^^ zaraz wam tutaj. EDIT: Bardzo mi sie nudziło i jakos nie umiem zasnąć xD masz przykład i nie becz... i zacznij sie wreszcie uczyć xD. Lol... moj pierwszy przyklad chyba tak w ogole xD http://www.gmclan.org/up199_11_nearest_in_area.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Scorpion Opublikowano 31 Marca 2007 Autor Udostępnij Opublikowano 31 Marca 2007 Pablo1517, dzięki! Twój przykład wymiata swoją prostotą. :thumbsup: Kto by pomyślał, że wystarczy tylko jedna linijka tekstu, i objekt znaleziony... tylko, że u mnie pojawia się napis, że nie ma takiej funkcji nearest_inArea... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 31 Marca 2007 Udostępnij Opublikowano 31 Marca 2007 Tylko podmień warunek sprawdzający czy znajduje się w tym obszarze na taki jak ja mam: if( x > min( xx1, xx2 ) && x < max( xx1, xx2 ) && y > min( yy1, yy2 ) && y < max( yy1, yy2 ) ) :P Scorpion, a skopiowałeś scripta? :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 31 Marca 2007 Udostępnij Opublikowano 31 Marca 2007 pewnie pisze ze takiej nie ma bo zajrzyj w moim przykładzie do scripts... te funkcje sam napisałem. Tymon a co to za różnica niby? Tylko więcej pisania xD EDIT: Tymon a można to wrzucic na strone? Przykład moze nie jest jakiś super ale to mój pierwszy przykład i nie chciałbym by ktoś mi go skopiował i podał za swoje, a jakby był na stronie to by mnie te nowe alibi chroniło xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 31 Marca 2007 Udostępnij Opublikowano 31 Marca 2007 Pablo powiem ci że to co napisał Tymon to jeszcze rozumiem a to twoje :huh: PO co tak komplikować :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 31 Marca 2007 Udostępnij Opublikowano 31 Marca 2007 Pablo dobrze napisał. :) Nawet bardzo dobrze. Hanjuso napisał jaki może się pojawić "problem" w przypadku mojego kodu. ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 31 Marca 2007 Filar Społeczności Udostępnij Opublikowano 31 Marca 2007 Tymon, bez przesady. ;) Kombinujecie tam gdzie nie trzeba. Check this out: instance_deactivate_all( true ); instance_activate_region( left, top, width, height, true ); cel = instance_nearest( x,y, szukany ); instance_activate_all(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 31 Marca 2007 Udostępnij Opublikowano 31 Marca 2007 ta ale on chce by te obiekty w rejonie pozostawaly bo co... bedą np ludziki co mają szukac graczy tylko jesli ktorys z nich jest w widoku i co? gracza chcesz dezaktywowac ;> Ranmus tym razem to ty uprzedziłeś mnie do siebie xD jak mozna tak nie zrozumiec tego co napisał Scorpion xD (chyba że to żart xD) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 1 Kwietnia 2007 Filar Społeczności Udostępnij Opublikowano 1 Kwietnia 2007 Nie no Pablo, to właśnie Ty nie rozumiesz i jednocześnie wmawiasz mi, że się pomyliłem. :] Przeczytaj jeszcze raz skrypt, który zapodałem i przeanalizuj dokładnie jego działanie. Zaskoczyłeś mnie chłopie. ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 1 Kwietnia 2007 Udostępnij Opublikowano 1 Kwietnia 2007 no przeciez wiem co robi twoj skrypt xD dezaktywuje wszystkie obiekty, potem aktywuje tylko te w rejonie szukania, wybiera se cel... kurde xD a potem aktywuje obiekty spowrotem xD. Jednak nie dobrze jest patrzec na skrypty puźną godziną xD. No ale czy obiekty po dezaktywacji nie wykonują swojego kodu z create raz jeszcze? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 1 Kwietnia 2007 Filar Społeczności Udostępnij Opublikowano 1 Kwietnia 2007 Pewnie nie, bo to by było głupie, niemądre i przy dezaktywacji musiał by być wywoływany event destroy. A wtedy te funkcje straciły by sens, gdyż równie dobrze można by było niszczyć obiekty i je na nowo tworzyć. :] Jedyną wadą powyższego rozwiązania jest to, że nie można dezaktywować obiektów w innych częściach gry. 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ę