Tebex Temat założony przez niniejszego użytkownika |
[allegro 4.4] Najeżdżanie myszą na pole » 2013-06-14 18:02:40 Może najpierw kodzik: #include <allegro.h>
int main() { int a = 1; allegro_init(); install_keyboard(); install_mouse(); BITMAP * kursor = NULL; set_color_depth( 32 ); set_gfx_mode( GFX_AUTODETECT_FULLSCREEN, 1366, 768, 0, 0 ); clear_to_color( screen, makecol( 255, 255, 255 ) ); BITMAP * obr_menu = NULL; BITMAP * obr_men_gr = NULL; BITMAP * obr_men_op = NULL; BITMAP * obr_men_wy = NULL; obr_menu = load_bmp( "menu.bmp", default_palette ); obr_men_gr = load_bmp( "menu_graj.bmp", default_palette ); obr_men_op = load_bmp( "menu_opcje.bmp", default_palette ); obr_men_wy = load_bmp( "menu_wyjscie.bmp", default_palette ); blit( obr_menu, screen, 0, 0, 0, 0, obr_menu->w, obr_menu->h ); kursor = load_bmp( "kursor.bmp", default_palette ); show_mouse( screen ); set_mouse_sprite( kursor ); set_mouse_sprite_focus( 0, 0 ); set_mouse_speed( 1, 1 ); unscare_mouse(); while( true ) { while( mouse_x > 1054 && mouse_x < 1249 && mouse_y > 242 && mouse_y < 352 ) { blit( obr_men_gr, screen, 0, 0, 0, 0, obr_men_gr->w, obr_men_gr->h ); } while( mouse_x > 1045 && mouse_x < 1282 && mouse_y > 396 && mouse_y < 502 ) { blit( obr_men_op, screen, 0, 0, 0, 0, obr_men_op->w, obr_men_op->h ); } while( mouse_x > 1032 && mouse_x < 1234 && mouse_y > 554 && mouse_y < 660 ) { blit( obr_men_wy, screen, 0, 0, 0, 0, obr_men_wy->w, obr_men_wy->h ); if( mouse_b == 1 ) break; } blit( obr_menu, screen, 0, 0, 0, 0, obr_menu->w, obr_menu->h ); } allegro_exit(); return 0; } END_OF_MAIN()
Tak więc przy takim kodzie ekran miga(i przed i po najechaniu na opcje),a ja chciałbym aby tylko raz wyswietlało dany obrazek(kiedy sie nie najedzie, kiedy sie najedzie i znow kiedy sie nie najedzie) Wiem że wytłumaczyłem to nijak ale proszę choć spróbować zrozumieć |