Glowacki Temat założony przez niniejszego użytkownika |
Problem z wyświetleniem obiektu » 2012-04-05 20:57:56 Siemka, robię pierwszą "grę" w allegro i mam pewien problem. Obiekt o nazwie kulka nie chce się wyświetlić. Wszystko się ładuje normalnie, nie wywala błędu, ale po prostu nie widać kulki. Gdzie robię błąd? #include <allegro.h> #include <stdio.h> #include <stdlib.h>
int main() { allegro_init(); install_keyboard(); set_color_depth( 32 ); set_gfx_mode( GFX_AUTODETECT_WINDOWED, 1024, 768, 0, 0 ); clear_to_color( screen, makecol( 128, 128, 128 ) ); BITMAP * kwadrat = NULL; BITMAP * kulka = NULL; BITMAP * bufor = NULL; bufor = create_bitmap( 1024, 768 ); if( !bufor ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Bufor nie moze byc utworzony!" ); allegro_exit(); return 0; } kwadrat = load_bmp( "kwadrat.bmp", default_palette ); if( !kwadrat ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Kwadrat nie moze byc zaladowany!" ); allegro_exit(); return 0; } int kwadrat_x = 1, kwadrat_y = 1; blit( kwadrat, screen, 0, 0, 50, 50, kwadrat->w, kwadrat->h ); kulka = load_bmp( "kulka.bmp", default_palette ); if( !kulka ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Kulka nie moze byc zaladowana!" ); allegro_exit(); return 0; } int kulka_x = 100, kulka_y = 100; blit( kulka, screen, 0, 0, 25, 25, kulka->w, kulka->h ); while( !key[ KEY_ESC ] ) { if( key[ KEY_A ] ) kwadrat_x--; if( key[ KEY_D ] ) kwadrat_x++; if( key[ KEY_W ] ) kwadrat_y--; if( key[ KEY_S ] ) kwadrat_y++; clear_to_color( bufor, makecol( 150, 150, 150 ) ); rest( 1 ); masked_blit( kwadrat, bufor, 0, 0, kwadrat_x, kwadrat_y, kwadrat->w, kwadrat->h ); blit( bufor, screen, 0, 0, 0, 0, 1024, 768 ); } readkey(); destroy_bitmap( kwadrat ); destroy_bitmap( bufor ); destroy_bitmap( kulka ); allegro_exit(); return 0; } END_OF_MAIN(); |