Bonjour,
j'ai une fonction a écrire avec les GLUT, voici l'énoncé:
"Trouvez sur Internet comment on redéfinit le ”callback” pour la gestion de la souris avec GLUT. Ecrivez une fonction qui détermine dans quelle case du damier la souris a cliqué. Affichez le résultat dans la console (avec printf). Dessinez un cercle dans la case qui a été cliquée"
J'ai déjà mon damier et pour le callback souris, j'ai cherché j'ai trouvé qu'on devait utiliser cette fonction :
glutMouseFunc() : définit la fonction à appeler lorsqu'un bouton de la souris est appuyé ou relâché. La fonction utilisateur doit avoir les paramètres (int button, int state, int x, int y), où button peu valoir GLUT_LEFT_BUTTON, GLUT_MIDDLE_BUTTON, ou GLUT_RIGHT_BUTTON, state vaut GLUT_UP ou GLUT_DOWN, et x et y sont les coordonnées de la souris par rapport à le fenêtre.
Donc je sais que je dois créer une fonction avant mon main, elle doit utiliser les paramètres button, state, x et y et que je devrais utiliser Mon damier dedans. Or, je ne sais pas comment commencer, ni ce qu'elle doit contenir.
voici mon damier:
Si quelqu'un pouvait m'aider, j'apprécierai vraiment
Code C : 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 void carre(float x, float y,float taille) { glBegin(GL_POLYGON); glVertex2f(x-taille/2,y+taille/2); glVertex2f(x+taille/2,y+taille/2); glVertex2f(x+taille/2,y-taille/2); glVertex2f(x-taille/2,y-taille/2); glEnd(); } void display(void) { glClear( GL_COLOR_BUFFER_BIT); int i,j; for(i=0; i<10; i=i+2) { for(j=0; j<10; j=j+1) { glColor3f(1.0,0,0); carre(1.0/2+i+j%2,1.0/2+j,1); glColor3f(0,0,1); carre(1.0/2+i+(j+1)%2,1.0/2+j,1); } } glFlush(); }
mercii!!
Partager