Skocz do zawartości

Kolizja


Markar

Rekomendowane odpowiedzi

A więc tak: mam obiekt O_gracz, O_platforma1(platforma pozioma), O_platforma2(platforma ukośna) mam w kolizji gracza do O_platforma 2 zmianę sprita na sprit gdzie idzie po krzywej platformie. Ale kiedy normalnie wejdę na platforme krzywą, z platformy poziomej(są w romie złączone) nie zmienia sprita... Jak zrobić żeby zmieniał sprita?? Jak niezrozumiale coś napisałem to napiszcie ;) 

Odnośnik do komentarza
Udostępnij na innych stronach

Dzieje się tak, gdy dotykasz dwóch platform jednocześnie?

Bo jeśli tak (będę strzelał) - platforma pozioma ma większe ID, więc kod wykonuje się później.

A jeśli też wtedy, gdy dotykasz tylko ukośnej - to gdzieś indziej popsułeś kod, np. Step, Draw...

Odnośnik do komentarza
Udostępnij na innych stronach

Może masz tak skonstruowany ruch, że praktycznie gracz nie koliduje z podłogą i nie wykonuje się akcja. Zamiast tego sprawdź funkcją bodajże place_meeting() co jest pod tobą i nadawaj odpowiedni sprite.

GML
if(place_meeting(x,y+1,opodloga1))

{

sprite_index=spr1;

}

else if(place_meeting(x,y+1,opodloga2))

{

sprite_index=spr2;

}

Coś takiego.

ED: Zamiast place_meeting napisałem position_meeting :P Zmienione.

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