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

[Allegro]Niepojawiająca się myszka

Ostatnio zmodyfikowano 2013-05-12 19:09
Autor Wiadomość
Loodwin
Temat założony przez niniejszego użytkownika
[Allegro]Niepojawiająca się myszka
» 2013-05-11 20:06:24
Witam!
Mam oto taki kodzik:

C/C++
#include <allegro.h>
int main()
{
    allegro_init();
    install_keyboard();
    install_mouse();
    show_mouse( screen );
    unscare_mouse();
    set_color_depth( 32 );
    set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 );
    clear_to_color( screen, makecol( 128, 128, 128 ) );
   
    BITMAP * tlo = NULL;
    BITMAP * bufor = NULL;
   
    bufor = create_bitmap( 800, 600 );
    if( !bufor )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Nie mogę utworzyć bufora !" );
        allegro_exit();
        return 0;
    }
   
    tlo = load_bmp( "graphic/tlo.bmp", default_palette );
   
    int klawisz = 0;
   
    while( !key[ KEY_ESC ] )
    {
        clear_to_color( bufor, makecol( 0, 0, 0 ) );
        blit( tlo, bufor, 0, 0, 0, 0, 800, 600 );
        blit( bufor, screen, 0, 0, 0, 0, 800, 600 );
        klawisz = readkey();
    }
   
    destroy_bitmap( tlo );
    destroy_bitmap( bufor );
   
    allegro_exit();
    return 0;
}
END_OF_MAIN();

I po włączeniu programu nie pojawia się myszka. Próbowałem wyświetlać myszkę na buforze, ale wtedy program się crashuje.

Z góry dzięki za pomoc.
P-82709
agrere
» 2013-05-12 13:00:00
po prostu przenieś 2 linijki:
C/C++
set_color_depth( 32 );
set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 );

w taki sposób, wtedy zadziała (przynajmniej mi)
 
C/C++
allegro_init();
set_color_depth( 32 );
set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 );
install_keyboard();
install_mouse();
show_mouse( screen );
unscare_mouse();

bo chodzi o to, że pokazywałeś kursor na ekranie zanim go stworzyłeś
P-82754
Loodwin
Temat założony przez niniejszego użytkownika
Dzięki
» 2013-05-12 19:09:59
Dzięki, działa. Nie wiedziałem, że to może być coś takiego prostego. Jeszcze raz dzięki.
P-82815
« 1 »
  Strona 1 z 1