Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro] Problem z własnym kursorem

Ostatnio zmodyfikowano 2010-01-31 22:37
Autor Wiadomość
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
C/C++
#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();
P-13445
malan
» 2010-01-31 22:37:44
U mnie nic nie mruga i nie znika - ani standardowy, ani załadowany (własny) kursor.
P-13451
« 1 »
  Strona 1 z 1