[VXAce] Sprawdzenie możliwości ruchu? - Wersja do druku
Ultima Forum
[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? :ehe:

Może i dziwne pytanie, ale jestem trochę znużony ciągłą sytuacją tego typu:
[Obrazek: 8055141c12.jpg]

A sprawdzanie każdej współrzędnej trochę by zajęło. :shock:


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. :ehe: Konradki nie musiały być specjalnie bystre (:kiti: w sumie nawet pasowało), ale w nowym projekcie zmagam się z potworami wchodzącymi w ściany.

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. :ehe:
Dlatego chciałbym jakoś sprawdzić, czy coś przed nimi nie stoi. :co: A jeżeli się nie da, będę musiał znaleźć inny sposób. :aww:


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. smiles Ale jeżeli istnieje też sposób na sprawdzenie czy x kratek od (głównego)bohatera jest jakaś przeszkoda na której nie może on stanąć, byłoby świetnie.
To drugie przydałoby mi się przy przechodzeniu przez obiekty, ale jednocześnie zablokowaniu przechodzenia przez ściany jeżeli nic za nimi nie ma. :ehe: Nie wiem czy zrozumiale tłumaczę.
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. :ehe:


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. smiles

(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. :aww:
(No i sprawdzanie koordynatów już próbowałem, zwyczajnie za dużo tego :ehe: )


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. :ehe: Póki co zdarzenia mam dosyć proste, bo do tej pory błąd z utykającymi potworami rozwiązywałem tym, że po pewnym czasie gonitwy po prostu się poddają.
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? :co:

Niby jest opcja "ignoruj ruch niemożliwy" dla zdarzeń, czy jak to tam, ale zamiast wybrać inny kierunek, one zwyczajnie stoją.