Kamil9132 Temat założony przez niniejszego użytkownika |
[Allegro] Program "Allegro2" przestał działać - wyświetlanie grafiki » 2011-10-23 23:35:29 Witam Mam taki kod: #include <allegro.h> int main() { allegro_init(); install_keyboard(); set_color_depth( 16 ); set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0 ); clear_to_color( screen, makecol( 10, 10, 10 ) ); BITMAP * pamiec = create_bitmap( 640, 480 ); BITMAP * glowa = load_bmp( "grafika/glowa.bmp", default_palette ); int klawisz = 0; int menug = 0; int wyjdz = 0; int konie = 0; int nkonie = 0; int kmenug = 0; int nenter = 0; int gra = 0; while( wyjdz == 0 ) { if( menug == 0 or menug == 1 ) { if( key[ KEY_DOWN ] ) { menug = 1; } if( key[ KEY_UP ] ) { menug = 0; } } if( menug == 2 ) { if( key[ KEY_RIGHT ] ) { konie = 0; } if( key[ KEY_LEFT ] ) { konie = 1; } } clear_to_color( pamiec, makecol( 10, 10, 10 ) ); if( menug == 0 ) { textprintf( pamiec, font, 200, 100, makecol( 255, 255, 255 ), "Start" ); textprintf( pamiec, font, 200, 120, makecol( 255, 255, 128 ), "Wyjdz z gry" ); if( key[ KEY_ENTER ] ) { gra = 1; } } textprintf_ex( pamiec, font, 200, 400, makecol( 255, 255, 128 ), - 1, "menug: %d", menug ); textprintf_ex( pamiec, font, 200, 420, makecol( 255, 255, 128 ), - 1, "kmenug juz nie: %d", kmenug ); textprintf_ex( pamiec, font, 200, 440, makecol( 255, 255, 128 ), - 1, "konie: %d", konie ); if( menug == 1 ) { textprintf( pamiec, font, 200, 100, makecol( 255, 255, 128 ), "Start" ); textprintf( pamiec, font, 200, 120, makecol( 255, 255, 255 ), "Wyjdz z gry" ); if( key[ KEY_ENTER ] ) { menug = 2; nenter = 1; } } if( nenter == 1 ) { key[ KEY_ENTER ] = false; nenter = 0; } if( menug == 2 ) { textprintf( pamiec, font, 200, 200, makecol( 255, 255, 128 ), "Czy na pewno chcesz wyjść?" ); if( konie == 0 ) { textprintf( pamiec, font, 220, 220, makecol( 255, 255, 225 ), "Nie" ); textprintf( pamiec, font, 180, 220, makecol( 255, 255, 128 ), "Tak" ); if( key[ KEY_ENTER ] ) { menug = 0; } } if( konie == 1 ) { textprintf( pamiec, font, 220, 220, makecol( 255, 255, 128 ), "Nie" ); textprintf( pamiec, font, 180, 220, makecol( 255, 255, 225 ), "Tak" ); if( key[ KEY_ENTER ] ) { wyjdz = 1; } } } blit( pamiec, screen, 0, 0, 0, 0, 640, 480 ); blit( glowa, screen, 0, 0, 100, 100, 20, 20 ); } return 0; } END_OF_MAIN();
Po skompilowaniu i uruchomieniu wyskakuje taki błąd: "Program Allegro2.exe przestał działać" Gdy usunę 11 linijkę od końca: blit( glowa, screen, 0, 0, 100, 100, 20, 20 );
To program działa normalnie. W pisaniu kodu wzorowałem się na Pliki graficzneDlaczego pojawia się ten błąd? |