Voila une boucle qui fonctionne très bien . elle fait deplacer une une bille dans l´ecran avec les fleches du clavier.

Ce que je comprend pas , c´est ce qui fait que quand l´image "picture.bmp" est déplacé, l´ancienne est effacé
alors que si j´enchaine 2 blit() de la meme image à la suite , il affiche les 2 et ne garde pas uniquement la deuxième.

(c´est ce que je veux! mais je comprend pas pourquoi ca se fait automatiquement vu qu´il n´y a aucune ligne de code dédiée à ça ! )

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
BITMAP *my_pic = NULL; //Declare a BITMAP called my_pic 
my_pic = load_bitmap("picture.bmp", NULL); // Load our picture
/* Declare another bitmap. This will be our 'buffer'. */
BITMAP *buffer = NULL; //Declare a BITMAP called buffer.
 
buffer = create_bitmap(640,480); //Create an empty bitmap.
int my_pic_x = 0;// Holds our pictures X coorinate 
int my_pic_y = 0;// Holds our picture's Y coordinate
 
 
while(!key[KEY_ESC]) //If the user hits escape, quit the program 
	{
 
		if(key[KEY_RIGHT]) 
		{ 
			my_pic_x ++; 
		} 
		else if(key[KEY_LEFT])		{ 
			my_pic_x --; 
		}
		else if(key[KEY_UP]) 
		{
			my_pic_y --; 
		} 
		else if(key[KEY_DOWN])  
		{ 
			my_pic_y ++; 
		}
 
draw_sprite(buffer, my_pic, my_pic_x, my_pic_y); 
blit(buffer, screen, 0,0,0,0,640,480); // Draw the buffer to the screen 
clear_bitmap(buffer); 
 
}
merci d´avance de votre aide !