Winner Temat założony przez niniejszego użytkownika |
[Allegro, C++] Problem z kolizją » 2011-12-23 16:13:06 Witam, mam pewien problem z którym męczę się juz od 3 dni... I nadal nie działa to tak jak powinno. Tutaj mój kod: x = floor( mario_x / 50 ); y = floor( mario_y / 50 ); int RodzajTerenu = map[ mapa_y + y + 1 ][ mapa_x + x ]; int RodzajTerenuBok = map[ mapa_y + y + 1 ][ mapa_x + x + mapa_y + 1 ]; int RodzajTerenuBok2 = map[ mapa_y + y ][ mapa_x + x + 1 ]; int RodzajTerenuNad = map[ y - 1 ][ x ]; wys_mape(); textprintf_ex( bufor, font, 10, 30, makecol( 255, 255, 255 ), - 1, "numer kafelki %d\n RodzajTerenuBok = %d RodzajTerenuBok2 = %d, %d", RodzajTerenu, RodzajTerenuBok, RodzajTerenuBok2, RodzajTerenuNad );
if( key[ KEY_RIGHT ] && RodzajTerenu >= 0 && RodzajTerenuBok && RodzajTerenuBok2 == 0 ) { mapa_x++; } I działa niby dobrze, czyli nie mogę przechodzić przez obiektu itp. Nawet jak dotknie podłogi mój ludek to się zatrzymuję i otóż to, zatrzymuję się i nie mogę się nim poruszyć... I tu jest ten problem, jak ludek dotknie ziemi to nie mogę się nim juz poruszyć. A ja chciałem, żeby można było się nim poruszyć. Proszę o pomoc. |
|
SeaMonster131 |
» 2011-12-23 16:37:27 if( key[ KEY_RIGHT ] && RodzajTerenu >= 0 && RodzajTerenuBok && RodzajTerenuBok2 == 0 ) Hm..czy RodzajTerenuBok przypadkiem też nie powinien 0 wynosić? |
|
Winner Temat założony przez niniejszego użytkownika |
» 2011-12-23 16:39:53 Też tak miałem ale i tak nie działało, teraz tak jest bo na szybko edytowałem tego if'a... |
|
SeaMonster131 |
» 2011-12-23 16:47:37 To najpierw zostaw sobie samo if( key[ KEY_RIGHT ] ) { mapa_x++; }
Później pododawaj kolejne warunki i sprawdź w czym tkwi błąd. |
|
Winner Temat założony przez niniejszego użytkownika |
» 2011-12-23 16:50:13 Próbowałem też tak, ale jak nie dam jakiegoś warunku to albo przechodzi przez przeszkody albo obada bez końca itp...
Ma ktoś może taką grę z klizją na mapie kafelkowej? Bo juz od 3 dni się z tym męczę i nic, a tak to bym sobie zobaczył jakie tam jest rozwiązanie na kolizje... |
|
SeaMonster131 |
» 2011-12-23 16:51:47 No raczej, ale masz sprawdzić w czym tkwi błąd, że nie możesz sie poruszać 'na podłodze'. Chyba to jest Twój problem tak? |
|
Winner Temat założony przez niniejszego użytkownika |
» 2011-12-23 16:53:47 Tak to mój problem, no ale właśnie was proszę o wskazanie mi problemu bo ja wiem, że trzeba znaleźć problem, tylko nie wiem w czym on tkwi i dlatego piszę do Was... |
|
pekfos |
» 2011-12-23 17:02:12 I tu jest ten problem, jak ludek dotknie ziemi to nie mogę się nim juz poruszyć. |
Bo masz złe sprawdzanie. Sprawdzaj czy kolizja będzie a nie czy jest. Aktualnie masz tak że jak dojdzie do kolizji to się nie ruszysz bo jest kolizja.. |
|
« 1 » 2 3 4 |