Salve, prima di scrivere la domanda vorrei chiarire che sono un principiante in ambito di programmazione allegro.h ; dunque cercate di essere clementi per le mie domande semplici.
Dunque... vorrei stampare un immagine a schermo. Ho utilizzato l'istruzione blit.
Solo che facendo in questo modo l'immagine appare a "intermittenza", non so come spiegarlo, provate a eseguire il codice e capirete cosa intendo.codice:#include <allegro.h> int main() { PALETTE pal; int x = 100; int y = 100; allegro_init(); BITMAP* ciao = create_bitmap (100, 100); install_keyboard(); set_color_depth(16); set_gfx_mode(GFX_AUTODETECT_WINDOWED, 300, 300, 0, 0); while (!key[KEY_ESC]) { ciao = load_bitmap ("immagine.bmp", pal); masked_blit(ciao, screen, 0,0, x, y, ciao->w, ciao->h); if (key[KEY_UP]) { y++; } clear_bitmap(screen); masked_blit(ciao, screen, 0,0, x, y, ciao->w, ciao->h); rest(1); } return 0; } END_OF_MAIN()
Ora, per risolvere il problema ho provato a togliere
clear_bitmap(screen);
ed effettivamente l'intermittenza cessa, però quando la figura si sposta lascia una scia.
Come posso risolvere il problema??

Rispondi quotando
studiati le funzioni di creazione di bitmap di allegro, da lì in poi è tutta in discesa (per ulteriori informazioni sulla tecnica in questione cerca "double buffering")
