Algorytm Kolizji w Grze 2d

0

Cześć

Jestem w trakcie pisania dwuwymiarowej gry i napotkałem na problem z kolizją podłoża. Otóż problem w tym, że jest ono nie regularne więc prosty algorytm opierający się na współrzędnych odpada. Zastanawiałem się nad tym czy jest możliwe odczytanie wysokości terenu po którym będzie biegł gracz. Na przykład na współrzędnej
int x = 100; wysokość zdjęcia jest mniejsza niż x = 50;.Lub czy może istnieje taka metoda która sprawdza czy powierzchnia obrazu (w kanale alfa) zajmuje jakąś współrzędną x i y. Wiem że podobne tematy już były ale odsyłały na strony anglojęzyczne gdzie trudno zrozumieć niektóre elementy. Kombinowałem jeszcze z klasą PixelGrabber ale nie rozumiem jej więc jeśli ktoś jej kiedyś używał to byłbym wdzięczny o wyjaśnienie jeśli powyższe sposoby okazały by się bez sensu.

0

Co to znaczy wysokość zdjęcia?
Co to znaczy, że powierzchnia obrazuje zajmuje jakąś współrzędną?
Napisz co chcesz dokładnie osiągnąć, bo z twojego opisu nie można nic zrozumieć.

0

@Sopelek
Co do pierwszego to chodziło mi o to że powierzchnia np w takim Limbo nie jest płaska, jest górka a chwile potem może być duł i jak wykryć kiedy postać ma spadać s kiedy się zatrzymać. Fakt nie wyraziłem się jasno. Co do drugiego to możemy mieć jakiś przypadek że zdjęcie które jest w kanale alfa to na przykład no nie wiem obwarzanek który ma w środku dziurę a w tej dziurze są jakieś współrzędne których to zdjęcie nie zajmuje .

1

W limbo mapa jest złożona z wielokątów. Ty jak rozumiem masz jedynie obrazek, gdzie piksele, które są nieprzezroczyste mają kolidować?

Jeśli tak to szukaj pod hasłęm pixel-perfect collision detection

0

@Sopelek Wielkie dzięki na pewno się zapoznam, Limbo bałem jako przykład. Mógłbyś przybliżyć na czym polega ta "mapa jest złożona z wielokątów" ?.

0

Że każdy obiekt na mapie ma zdefiniowaną objętość (obszar jaki zajmuje) jako wielokąt lub coś tego pokroju.

0

@Sopelek Podsunąłeś mi pomysł z tymi kafelkami. Ręczne bawienie się było by zbyt pracochłonne więc napisze narzędzie do którego będę importował obraz a następnie będę go wypełniał kwadratami lub prostokątami. To one będą stanowiły podłoże. Jeśli napotkam jakieś wzniesienie to kwadrat będzie trochę wyższy od poprzedniego. Postać będzie się unosić o różnice wielkości obu figur. Będzie ich dosyć sporo więc bez jakiegoś pomocnego programu się nie obędzie. Prócz stawiania tych kwadratów będzie mi pisał warunki które potem przeniosę do gry. Dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1