Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro, C++] Problem z kolizją

Ostatnio zmodyfikowano 2011-12-25 15:05
Autor Wiadomość
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:
C/C++
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.
P-46140
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ć?
P-46141
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...
P-46142
SeaMonster131
» 2011-12-23 16:47:37
To najpierw zostaw sobie samo
C/C++
if( key[ KEY_RIGHT ] )
{
    mapa_x++;
}
Później pododawaj kolejne warunki i sprawdź w czym tkwi błąd.
P-46143
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...
P-46144
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?
P-46145
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...
P-46146
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..
P-46147
« 1 » 2 3 4
  Strona 1 z 4 Następna strona