Skocz do zawartości
lukasz050792

Platformówka. Przenikanie przez platformę od dołu

Rekomendowane odpowiedzi

Witam.

 

Mam problem z dodaniem w swojej grze platform, przez które dałoby się przenikać od dołu i na nich stanąć.

Udało mi się to w pewnym sensie zrobić, ale nie do końca działa tak jakbym chciał, bo postać zatrzymuje się w połowie platformy.

W odpowiedniej platformie umieściłem kod: solid = obj_player.y+1 <= y && obj_player.vspeed >= 0;

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nie wiem jak wygląda Twój kod ale jeśli używasz vspeed, to możesz sprawdzać kolizje tylko wtedy, jeśli postać opada albo stoi. Czyli:

If (vspeed >= 0) then kolizja 

 

Bo vspeed < 0 czyli np vspeed = -3 to skakanie, bo postać porusza się w górę, czyli wtedy nie sprawdzaj kolizji tylko przenikaj przez platformę.

  • Lubię (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Próbowałem jeszcze tego, ale wywaliło błąd:

 

if(obj_player.y+16 <= y && obj_player.vspeed >= 0)
{
     solid = 1;
}
else
{
     solid = 0;
}

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

?, z tego co ja wiem solid nie sprawia automatycznie, że obiekty kolidują na siebie nawzajem, tylko trzeba do tego dopisać stosowny kod. Generalnie ja nie korzystam z flagi solid więc mogę się mylić.

 

Cytuj

Próbowałem jeszcze tego, ale wywaliło błąd:

Jaki błąd? 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dobra, ten błąd nieaktualny. Ogólnie mam na kafelkach zrobione poruszanie się postacią. Tak mam kolizję ze zwykłą platformą:

gggl2.png

 

Jak możesz to napisz jak zrobić prawidłowo kolizję z przenikalną platformą.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Rozumiem, że w 6 jest sprawdzanie, czy poniżej jest platforma (y + <coś>) ? Powinno się wtedy dać przeskakiwać od spodu, bo wtedy platforma jest na y mniejszym od y postaci.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A jednak się nie da... Postać po zetknięciu się z platformą blokuje się w powietrzu.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To znaczy, że źle sprawdzasz pozycję y. Nie wiem, czy origin bloków nie musi być wtedy na ich górze.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×