[Allegro 4.x] Wyświetlanie bitmapy po wciśnięciu przycisku
Ostatnio zmodyfikowano 2015-05-28 20:29
BadBullPL Temat założony przez niniejszego użytkownika |
[Allegro 4.x] Wyświetlanie bitmapy po wciśnięciu przycisku » 2015-05-28 18:16:30 Mam oto taki kod: #include <allegro.h> BITMAP * kursor;
void laduj_kursor() { kursor = load_bitmap( "kursor.bmp", NULL ); }; int mx = 0, my = 0, mb = 0;
void myszka() { if( mx != mouse_x || my != mouse_y || mb != mouse_b ) { mx = mouse_x; my = mouse_y; mb = mouse_b; } }; int main() { allegro_init(); install_keyboard(); set_color_depth( 16 ); set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 ); BITMAP * bufor = NULL; BITMAP * ludek = NULL; BITMAP * button = NULL; button = load_bmp( "button.bmp", default_palette ); ludek = load_bmp( "ludek.bmp", default_palette ); bufor = create_bitmap( 800, 600 ); laduj_kursor(); install_mouse(); show_mouse( NULL ); set_mouse_sprite( kursor ); unscare_mouse(); int button_x = 100; int button_y = 100; int ludek_x = 100; int ludek_y = 100; while( !key[ KEY_ESC ] ) { bool czy_wcisnieto = false; clear_to_color( bufor, makecol( 100, 100, 100 ) ); myszka(); masked_blit( button, bufor, 0, 0, button_x, button_y, button->w, button->h ); masked_blit( kursor, bufor, 0, 0, mx, my, kursor->w, kursor->h ); if( mb == 1 && mx >= 100 && mx <= 100 + button->w && my <= 100 + button->h && my >= 100 ) { czy_wcisnieto = true; } if( czy_wcisnieto == true ) { masked_blit( ludek, bufor, 0, 0, ludek_x, ludek_y, ludek->w, ludek->h ); } blit( bufor, screen, 0, 0, 0, 0, 800, 600 ); clear_keybuf(); } destroy_bitmap( bufor ); destroy_bitmap( ludek ); destroy_bitmap( button ); allegro_exit(); return 0; } END_OF_MAIN();
I chodzi o to że obrazek ludka wyswietla się tylko wtedy jak lewy przycisk myszy jest wcisnięty lub przytrzymany a mi chodzi o to żeby po jednokrotnym wciśnięciu bitmapa ludka była już ciągle widoczna. |
|
SeaMonster131 |
» 2015-05-28 20:25:48 bool czy_wcisnieto = false; To znajduje się w pętli. |
|
BadBullPL Temat założony przez niniejszego użytkownika |
» 2015-05-28 20:29:54 Ok dzięki zamykam |
|
« 1 » |