[Allegro, C++] Mapa kafelkowa, scrollowanie mapy
Ostatnio zmodyfikowano 2010-05-26 20:19
Bartaz Temat założony przez niniejszego użytkownika |
[Allegro, C++] Mapa kafelkowa, scrollowanie mapy » 2010-05-26 19:34:48 Witam mogl by mi ktos podac przykladowy kod z mapa kafelkowa i jej przewijaniem tylko zeby obrazki nie byly wycinane z jednej bitmapy .I wmiare to wytlumaczyc?^^ |
|
filipesq |
» 2010-05-26 19:56:24 Czekaj, zaraz napiszę. //Edit: Lepiej czytywać z jednej bitmapy, ale dobra, masz z kilku:
BITMAP * plansza = create_bitmap( SCREEN_W, SCREEN_H );
BITMAP * kafelek1 = load_bmp( "image/kafelki/kafel1.bmp", default_palette ); BITMAP * kafelek2 = load_bmp( "image/kafelki/kafel2.bmp", default_palette );
int mapa[ 20 ][ 20 ] { }
int szerokosc_kafla = 40, wysokosc_kafla = 40;
int map_x, map_y;
void map( void ) { for( int x = 0; x > 10; x++ ) { for( int y = 0; y > 10; y++ ) { if( mapa[ x ][ y ] == 0 ) blit( kafelek1, plansza, 0, 0, map_x + x * szerokosc_kafla, y * wysokosc_kafla, szerokosc_kafla, wysokosc_kafla ); if( mapa[ x ][ y ] == 1 ) blit( kafelek1, plansza, 0, 0, map_x + x * szerokosc_kafla, y * wysokosc_kafla, szerokosc_kafla, wysokosc_kafla ); } } }
while( ) { if( key[ KEY_RIGHT ] ) map_x++; else if( key[ KEY_LEFT ] ) map_x--; else if( key[ KEY_DOWN ] ) map_y++; else if( key[ KEY_UP ] ) map_y--; map(); }
Scrollowanie chyba złe, no i kod trzeba naprawdę dużo udoskonalić, ale pisałem na szybko. |
|
Bartaz Temat założony przez niniejszego użytkownika |
... » 2010-05-26 19:59:01 ok |
|
filipesq |
» 2010-05-26 20:19:20 Dobra, napisałem |
|
« 1 » |