![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 10 Dołączył: 8.02.2012 Ostrzeżenie: (0%)
|
Witam
Mam problem mam nadzieję że ktoś z was mógłby mi pomóc. Otóż mam prostą platformówkę ale mam problem z kolizjami wykrywa kolizje dla X ale dla Y już nie (IMG:style_emoticons/default/sad.gif) . Więc wchodzi przez ściany. Załączam kod.
|
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%)
|
Na moje oko Twoja funkcja do detekcji kolizji wygląda w porządku. Czy problem nie tkwi w rozmiarze kroku? Może postać w jednym kroku "przeskakuje" przez ścianę? Idealnie byłoby, gdyby jeden krok w logice wynosił maksymalnie 1 piksel.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 10 Dołączył: 8.02.2012 Ostrzeżenie: (0%)
|
Niestety nie (IMG:style_emoticons/default/sad.gif) zmieniłem na 1 ale dalej nie wykrywa kolizji.
może coś tutaj?
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%)
|
Ja bym w ogóle usunął ten fragment i zrobił inaczej. Zamiast "cofać" gracza w przypadku kolizji z blokiem, lepiej sprawdzać kolizję przed wykonaniem kroku. Zamiast sprawdzać kolizję z blokiem, lepiej też uogólnić logikę i sprawdzać czy nie koliduje z jakimkolwiek obiektem, przez który nie można przejść. Obiekty te możesz definiować na dwa sposoby:
|
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 16:50 |