Draconis Opublikowano 25 Września 2010 Udostępnij Opublikowano 25 Września 2010 Witam Szukam sposobu by sprawdzić czy obiekt A(Nazwijmy go Dom) jest połączony z obiektem B(Nazwijmy go Rynek) przy pomocy obiektów C(Nazwijmy je Droga) Położenie wszystkich obiektów jest wybierane przez gracza, może być tylko jeden Rynek, z którym wszystkie Dom muszą być połączone przy pomocy Dróg, przy czym dozwolone jest łączenie pośrednie (Za pośrednictwem kilku obiektów Droga) Jakby co całość jest w rzucie top-down i wszystkie obiekty są dopasowane do siatki (32x32 czyli tyle ile mają dom i droga, rynek jest cztery razy większy i zajmuje 64x64) Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 25 Września 2010 Udostępnij Opublikowano 25 Września 2010 W sumie prosta sprawa jeśli mamy jeden rynek. Utwórz sobie tablicę, stos w którym będziesz przechowywał ID instancji drogi, później dodaj te ID instancji które znajdują się bezpośrednio koło rynku, następnie w pętli zdejmuj ze stosu kolejne ID i ustawia flagę "rynek" tej instancji np. na true, następie sprawdzaj czy w ich okolicy znajdują się inne drogi bez ustawionej flagi na true, a jeśli tak, do dodaj je do stosu... i w ten sposób w kółko, aż do opróżnienia stosu. Drogi bez ustawionej flagi na 100% nie będą miały połączenia z rynkiem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Draconis Opublikowano 25 Września 2010 Autor Udostępnij Opublikowano 25 Września 2010 Dzięki, na razie wpadłem na inny pomysł, który chcę przetestować wymagający dwóch rodzajów dróg. Działa i nie ogranicza działania do jednego rynku Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 25 Września 2010 Udostępnij Opublikowano 25 Września 2010 Ten również, w końcu co za problem dodać kilka ścieszek do stosu. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Draconis Opublikowano 25 Września 2010 Autor Udostępnij Opublikowano 25 Września 2010 Mam jeszcze jeden problem (nie myślcie tylko że ostatni) Jak zrobić by ludzie chodzili z domów na rynek po drogach ( i na odwrót, ale tym się potem zajmę) , czyli coś podobnego do Stepavoiding(czy jakoś tak) tylko, że na odwrót. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 25 Września 2010 Udostępnij Opublikowano 25 Września 2010 Nie wiem jak inni, ale ja niezbyt rozumiem... Czy chodzi ci o znajdowanie drogi (path finding) ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Draconis Opublikowano 25 Września 2010 Autor Udostępnij Opublikowano 25 Września 2010 O znajdywanie drogi, ale wyłącznie po obiekcie (bez schodzenia na puste pola, lub obiekty innego rodzaju) . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 25 Września 2010 Udostępnij Opublikowano 25 Września 2010 Jeśli chcesz takie coś robić samemu bez jakichś gml'owych funkcji z szukaniem drogi, to przeczytaj sobie to: http://en.wikipedia.org/wiki/Pathfinding Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 25 Września 2010 Udostępnij Opublikowano 25 Września 2010 http://gmc.yoyogames.com/index.php?showtopic=413985 http://gmc.yoyogames.com/index.php?showtopic=461786 http://gmc.yoyogames.com/index.php?showtopic=286571 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 25 Września 2010 Udostępnij Opublikowano 25 Września 2010 HAHAHAHHAHAHAHHAH!!!! Nie tłumacz tego w Google, jak chcesz mieć dobrze. zdanie z Wiki przerzucone przez Google: aby wyeliminować ruch dżemy na dławik punktów w terenie, Edit: spróbuję to przetłumaczyć, żeby było po polskiemu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 25 Września 2010 Udostępnij Opublikowano 25 Września 2010 O znajdywanie drogi, ale wyłącznie po obiekcie (bez schodzenia na puste pola, lub obiekty innego rodzaju) . Można na przykład wykorzystać funkcje mp_grid. Pooznaczać komórki siatki jako "przejezdne" tylko te, gdzie jest obiekt drogi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 25 Września 2010 Udostępnij Opublikowano 25 Września 2010 albo GML var kakauko, kashka, i, j; kakauko=(szerokość kratki /2) kashka=(wysokość kratki /2) for(i=0;i<=room_width-1;i+=1) { for(j=0;j<=room_width-1;j+=1) { if collision_point(i*(szerokosc kratki)+kakauko,j*(wysokość kratki)+kashka,par_przejezdne,1,1) { // (zaznaczanie kratki i, j, jako przejezdna) } } 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ę