Nie działająca kolizja
Ostatnio zmodyfikowano 2011-08-13 16:57
bingo009 Temat założony przez niniejszego użytkownika |
Nie działająca kolizja » 2011-08-12 19:31:20 Witam, znowu mam problem z kolizją. Po przerwie postanowiłem podłubać w moim projekcie i wypociłem coś takiego: if( map[ player_x / 40 ][ player_y / 40 ] == 1 ) kolizja = false; else if( map[( player_x + 40 ) / 40 ][ player_y / 40 ] == 1 ) kolizja = false; else if( map[ player_x / 40 ][( player_y + 40 ) / 40 ] == 1 ) kolizja = false; else if( map[( player_x + 40 ) / 40 ][( player_y + 40 ) / 40 ] == 1 ) kolizja = false; else kolizja = true;
if( kolizja == true ) { textout_ex( screen, font, "Kolizja ;)", 20, 20, makecol( 255, 0, 255 ), - 1 ); }
Wcale nie ma ochoty pracować, nie działa jak należy. W mojej mapce 1 to jedyny kafelek na który może wejść gracz, reszta to już przeszkody. Zapewnie popełniłem błąd w instrukcji if. U mnie gracz ma wielkość 40x40. |
|
SeaMonster131 |
» 2011-08-12 22:19:19 Hm.. gracz ma wielkość 40x40..a pozostałe kafelki też są tej samej wielkości ? |
|
Dragonit |
» 2011-08-12 22:30:29 zamiast "else if" spróbuj tylko z "if" |
|
bingo009 Temat założony przez niniejszego użytkownika |
» 2011-08-13 11:13:56 Tak pozostałe kafelki są 40x40, spróbuje tak jak mówi Dragonit
Edit: Niestety, znowu nie działa jak trzeba. |
|
Dragonit |
» 2011-08-13 11:47:47 Pokaż jak to teraz masz napisane. Bo pewnie masz tak, że "else kolizja = true;" odnosi sie tylko do ostatniego elementu "if". |
|
bingo009 Temat założony przez niniejszego użytkownika |
» 2011-08-13 11:53:45 Tak mam dokładnie tak, trzeba to teraz zmienić aby odnosiło sie do wszystkich, ale da się tak? if( map[ player_x / 40 ][ player_y / 40 ] == 1 ) kolizja = false;
if( map[( player_x + 40 ) / 40 ][ player_y / 40 ] == 1 ) kolizja = false;
if( map[ player_x / 40 ][( player_y + 40 ) / 40 ] == 1 ) kolizja = false;
if( map[( player_x + 40 ) / 40 ][( player_y + 40 ) / 40 ] == 1 ) kolizja = false; else kolizja = true;
|
|
SeaMonster131 |
» 2011-08-13 11:56:10 trzeba to teraz zmienić aby odnosiło sie do wszystkich, ale da się tak? |
Połącz to wszystko w jeden warunek np. |
|
kamillo121 |
» 2011-08-13 13:49:37 Czy w nazwie tematu nie ma błędu ? nie/działający jak dla mnie powinno być łącznie ale mogę się mylić. |
|
« 1 » 2 |