[Allegro] Problem z własnym kursorem
Ostatnio zmodyfikowano 2010-01-31 22:37
Poonury Temat założony przez niniejszego użytkownika |
[Allegro] Problem z własnym kursorem » 2010-01-31 21:21:27 Kursor miga podczas poruszania i znika jak przestaniemy ruszać myszką. Ktoś ma jakieś sugestie jak temu zaradzić? Na początku myślałem że to przez to że użyłem formatu .png ale gdy zmieniłem na taki jak jest w kursie problem nie ustąpił. Edit : problem rozwiązany poprzez: show_mouse(NULL); a potem w pętli głównej: masked_blit(kursor, bufor, 0, 0, mx, my, kursor->w, kursor->h); Może komuś się przyda x) Pozdrawiam #include <allegro.h>
BITMAP * kursor;
void laduj_kursor() { kursor = load_bitmap( "kursor.bmp", NULL ); if( !kursor ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Nie moge zaladowac grafiki ( kursor )" ); allegro_exit(); } };
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( 32 ); set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 ); BITMAP * bufor = NULL; bufor = create_bitmap( 800, 600 ); laduj_kursor(); install_mouse(); show_mouse( screen ); set_mouse_sprite( kursor ); unscare_mouse(); while( !key[ KEY_ESC ] ) { clear_to_color( bufor, makecol( 100, 100, 100 ) ); myszka(); textprintf_ex( bufor, font, 20, 20, makecol( 200, 200, 200 ), - 1, "Myszka x = %d, y = %d, klawisz = %d !", mx, my, mb ); blit( bufor, screen, 0, 0, 0, 0, 800, 600 ); clear_keybuf(); } destroy_bitmap( bufor ); destroy_bitmap( kursor ); allegro_exit(); return 0; } END_OF_MAIN(); |
|
malan |
» 2010-01-31 22:37:44 U mnie nic nie mruga i nie znika - ani standardowy, ani załadowany (własny) kursor. |
|
« 1 » |