Bonjour à vous tous !

Voici mon problème : j'ai un carré de 5 pixels de côté que je déplace linéairement avec une fonction Motion appelé par glutIdleFunc().
Ce carré commence à partir vers le droite (jusque là OK) avec une "vitesse" de départ (cette vitesse est constante).
Voici la fonction Motion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
void Motion() {
	double l = xposB + 5;
	double h = yposB + 5;
	printf ("V = %lf\n", V);
	glPushMatrix();
	xposB = xposB + V;
	if (l >= 300)
		V=-V;
	glTranslatef(xposB, 0, 0);
	glPopMatrix();
	glutPostRedisplay();
	printf ("V = %lf\n", V);
}
Le if indique que si le bord droit dépasse le cadre, la vitesse doit "s'inverser" (devenir de signe opposée) pour que le carré parte à gauche. Je précise que la vitesse V est une variable globale.
Or, mon carré reste coincé ! Il ne tourne pas de sens !
Où me suis-je gourré !!!

Merci d'avance !

@ ++