Witam :-)
Zacząłem niedawno uczyć się allegro i utknąłem na fragmencie kursu opisującym obsluge myszki.
Gdy ustawię tryb ekranu na pełny i jakąś tam rozdzielczość, to po próbie ukazania kursora wyskakuje błąd Visuala, przez co nawet nie wiem co jest źle.
To kod, który napisałem:
#include <allegro.h>
struct Tlo
{
BITMAP *obraz;
int polozenie;
};
int main()
{
int max_x=1024,max_y=768;
allegro_init();
install_keyboard();
install_mouse();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_FULLSCREEN,max_x,max_y,0,0);
clear_to_color(screen,makecol(0,0,0));
show_mouse(screen);
unscare_mouse();
BITMAP *bufor=create_bitmap(max_x,max_y);
Tlo proba;
proba.obraz=load_bmp("proba.bmp",default_palette);
proba.polozenie=0;
while(!key[KEY_ESC])
{
if(mouse_x==0&&proba.polozenie>=2)
{
blit(proba.obraz,screen,proba.polozenie,0,0,0,max_x,max_y);
proba.polozenie-=2;
}
if(mouse_x==max_x-1&&proba.obraz->w-proba.polozenie>max_x)
{
blit(proba.obraz,screen,proba.polozenie,0,0,0,max_x,max_y);
proba.polozenie+=2;
}
}
destroy_bitmap(proba.obraz);
allegro_exit();
return 0;
}
END_OF_MAIN();
Jeżeli nie ładuję bitmapy pod tło, wtedy kursor wyświetla się poprawnie. Jednak jeżeli nawet bez tła dam podwójne buforowanie, wtedy też wyskakuje błąd. Skąd ten bład ?
Z góry dzięki :-)