Skocz do zawartości

Sposob na kolizje ze sciana


Rekomendowane odpowiedzi

Witam,

 

Mam problem ze znalezieniem sposoby na dobrą kolizje ze ścianą. Chodzi o to że chce aby postać ślizgała się po ścianie ale nie mogła przez nią przejść. (widok top down ) Nie wiem jak to wytłumaczyć po prostu podczas poruszania się pod kątem jak idzie ściana zależy jaką użyje metodę albo haczy albo w ogóle się nie da ruszyć w danym kierunku. Mam nadzieję że ktoś rozumie o co mi chodzi ;] Rozwiązanie jakie używam to po prostu odbicie ale postać idzie opornie bo wiadomo odbija się i dalej napiera. View jest ustawiony na fallow za postacią i w wyniku obraz dostaje "trzęsiawki",a chciałbym żeby postać "ślizgała" się po tej ścianie... Więc jeżeli ktoś ma dobry sposób na kolizje i chciałby się podzielić wiedzą ;]

 

Pozdrawiam,

tomalas

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if keyboard_check(vk_up) && place_free(x,y-5) then y -= 5

if keyboard_check(vk_left) && place_free(x-5,y-5) then x -= 5

if keyboard_check(vk_down) && place_free(x,y+5) then y += 5

if keyboard_check(vk_right) && place_free(x+5,y) then x += 5

 

Ściana Solid...

Odnośnik do komentarza
Udostępnij na innych stronach

@Uzjel - co ty bedzie słabo, jeśli będzie szedł pod kątem

 

Tomalas, podpowiem Ci, że musisz mieć maskę, użyć sinusów i cosinusów i degtorad. Najlepiej też żeby sprite był krawdratwory tzn. miał te same wymiary szer i wys.

A jeśli nie wiesz jak używać cos i sin - https://forum.gmclan.org/index.php?showtopic=2878&hl=

Odnośnik do komentarza
Udostępnij na innych stronach

Lenin Twoje rozwiązanie nie jest dobre przez previous postać zacina się a maska nie ma najmniejszego sensu efekt będzie ten sam jak przy kolizji ze swoim własnym spritem obiektu.

 

Uzjel rozwiązanie było by dobre gdybym korzystał z poruszania przez dodawanie współrzędnych... Chociaż z z drugiej strony nie wiem czy do końca by poprawnie działało idąc pod skos w ścianę i żeby mi szedł wzdłuż niej... prawdopodobnie by stanęła w miejscu...

 

Edit:

Vianom:

ok dzięki za linka będę kombinował

Odnośnik do komentarza
Udostępnij na innych stronach

Eh niby działa ale nie działa coś muszę źle robić. Postać przesuwa się w bok przy odbiciu o ścianę ale zależy pod jakim kątem. Jak jest "nieodpowiedni" przechodzi przechodzi przez tą ścianę...

 

Edit:

Z tego co teraz testuje przy podejściu do ściany pod kątem mniejszym niż 180 jest ok...

 

Edit:

Jednak nie tylko jak idę na ścianę pod kątem 90 stopni i 270 mogę się ślizgać po ścianie

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...