![]() |
|
[VXAce] Sprawdzenie możliwości ruchu? - Wersja do druku +- Ultima Forum (https://forum.ultimateam.pl) +-- Dział: RPG Maker (/Forum-RPG-Maker) +--- Dział: Wsparcie (/Forum-Wsparcie) +--- Wątek: [VXAce] Sprawdzenie możliwości ruchu? (/Thread-VXAce-Sprawdzenie-mo%C5%BCliwo%C5%9Bci-ruchu) Strony: 1 2 |
Sprawdzenie możliwości ruchu? - Yoroiookami - 18-02-15 12:44 Czy zna ktoś może sposób na sprawdzenie, czy dane zdarzenie nie może się ruszyć w określonym kierunku? Albo na to, czy przed zdarzeniem lub bohaterem znajduje się "klocek" czy kilka klocków nie do przejścia? Może i dziwne pytanie, ale jestem trochę znużony ciągłą sytuacją tego typu: ![]() A sprawdzanie każdej współrzędnej trochę by zajęło. RE: Sprawdzenie możliwości ruchu? - Ayene - 18-02-15 12:48 Ten screen obrazuje sytuację, z której jakieś zdarzenie zbliża się do gracza? Pewnie sposób istnieje (algorytm dijkstry / A*?), ale opisz dokładniej, jaki problem chcesz wyeliminować. RE: Sprawdzenie możliwości ruchu? - Yoroiookami - 18-02-15 12:51 Ogólnie chodzi mi o umieszczenie nieco bardziej rozgarniętych stworków na mapie. Zwyczajnie podążają za bohaterem, ale jeżeli on stanie za przeszkodą, to one za nic jej nie ominą. Do tej pory musiałem sprawdzać każde współrzędne dookoła obiektu, bo innego sposobu nie znałem. Dlatego chciałbym jakoś sprawdzić, czy coś przed nimi nie stoi. RE: Sprawdzenie możliwości ruchu? - Ayene - 18-02-15 12:58 Uściślijmy. Chcesz, aby stwór idący w kierunku bohatera (move toward player) był bardziej myślący i omijał przeszkody. Czyli potrzebujesz "sprytniejszego" rozwiązania tego polecenia, tak? Czy osobnych warunków sprawdzania, bo np. chcesz jeszcze wyświetlić tekst, jak wejdzie na ścianę? RE: Sprawdzenie możliwości ruchu? - Yoroiookami - 18-02-15 13:04 Chciałbym żeby wybrane zdarzenie najzwyczajniej omijało przeszkody. To drugie przydałoby mi się przy przechodzeniu przez obiekty, ale jednocześnie zablokowaniu przechodzenia przez ściany jeżeli nic za nimi nie ma. Może przejść przez obiekt. Nie może przejść przez obiekt. Ogólnie chodzi mi o omijanie przeszkód. To drugie to tylko opcjonalny dodatek, którego nawet dobrze nie przemyślałem. RE: Sprawdzenie możliwości ruchu? - Ayene - 18-02-15 13:26 Jeszcze jedno... W jaki sposób poruszasz zdarzeniami. Używasz auto movement (approach), czy set move route? RE: Sprawdzenie możliwości ruchu? - X-Tech - 18-02-15 13:30 Sporo mam pomysłów na to jeden z nich to strzelanie niewidzialnymi pociskami i sprawdzanie dokad doleca inny to sprawdzanie koordynat zioma i porownywanie starych z nowymi co okr. czas. RE: Sprawdzenie możliwości ruchu? - Yoroiookami - 18-02-15 13:35 (18-02-15 13:26)Ayene napisał(a): Jeszcze jedno... W jaki sposób poruszasz zdarzeniami. Używasz auto movement (approach), czy set move route?Preferuję "set move route", bo zwyczajnie wygodniej mi manipulować zachowaniem. (18-02-15 13:30)X-Tech napisał(a): Sporo mam pomysłów na to jeden z nich to strzelanie niewidzialnymi pociskami i sprawdzanie dokad doleca inny to sprawdzanie koordynat zioma i porownywanie starych z nowymi co okr. czas.Też dobry pomysł, tylko chyba troszkę czasochłonny. Idzie na plan B. (No i sprawdzanie koordynatów już próbowałem, zwyczajnie za dużo tego RE: Sprawdzenie możliwości ruchu? - Ayene - 18-02-15 13:40 OK. A możesz zrobić mi na szybko demo z najczęstszym problemem? Łatwiej będzie mi sprawdzić algorytm. @X-Tech, oczywiście, że można na okrętkę. Ale po co, skoro do znajdywania najkrótszych ścieżek służą opracowane do tego algorytmy, np. A*. RE: Sprawdzenie możliwości ruchu? - Yoroiookami - 18-02-15 13:52 Nie wiem zbytnio co umieścić w tym demie. https://www.sendspace.com/file/6l1uer Problemem jest, że wystarczy że gracz chociaż trochę wyprzedzi/przechytrzy zdarzenie, a ono staje jak kołek. Zwykle dzieje się tak przy pojedynczych przeszkodach tego typu. (Kolumny, słupki itp.) Nie wiem, czy to w ogóle w czymś pomoże? Niby jest opcja "ignoruj ruch niemożliwy" dla zdarzeń, czy jak to tam, ale zamiast wybrać inny kierunek, one zwyczajnie stoją. |