Skocz do zawartości

Kolizja x<=other.x...


Gość members_display_name

Rekomendowane odpowiedzi

Mam taki skrypcik w kolizji z platformą:

if (y<=other.y-16 or y>=other.y+16)
{vspeed=0}
if (x<=other.x-16 or x>=other.x+16) and not (y<=other.y-16 or y>=other.y+16)
{hspeed=0}

 

Dzięki temu postać gracza płynnie chodzi po platformie, ale zdarzają się zahaczenia, gdy np: spada ona obok platformy. Te "haki" są raczej sporadyczne, ale tu chodzi o względy estetyczno-dynamiczne ;P

 

Nie działa metoda na krzyż:

if (y<=other.y-16 or y>=other.y+16) and not (x<=other.x-16 or x>=other.x+16)
---------------------------------------X--------------------------------------------
if (x<=other.x-16 or x>=other.x+16) and not (y<=other.y-16 or y>=other.y+16)

...ale tego akurat się spodziewałem.

Pomóżcie wynaleźć jakiś warunek, który sprawi, że nie hiro nie będzie zahaczał o pionowe ściany platformy.

 

PS. To pytanie dałem w początkujących, bo zapewne odpowiedź na nie jest prosta, tyle że ja jestem mało pomysłowy ;)

EDIT: Aha-te zahaczenia nigdy nie są "na stałe"-udało mi się przynajmniej to rozwiązać...

Odnośnik do komentarza
Udostępnij na innych stronach

Może i tak, ale na hspeed jest bardzo...wygodnie :P Jeżeli ktoś nie ma pomysłu na rozwiązanie tego problemu zostawiając metodę hspeed, to wtedy pobawię się z przyspieszaniem za pomocą x+...mimo to czekam na pomysły ;)

Odnośnik do komentarza
Udostępnij na innych stronach

I tak przydałoby się rozwiązanie-to jest jedyne miejsce w kodzie, gdzie będę używał hspeed. Wolałbym nie bawić się w pozorowanie friction, zabawę z przyspieszaniem dla ruchu za pomocą x+ itd., a wszystko to, bo chcę zostawić specyfikę ruchu w takim stanie, jaki jest. W ostateczności zmienię hspeed na x+, ale jak znasz rozwiązanie, to je podaj...zawsze się przyda. :)

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