bonjour, pour le plaisir d'apprendre je fait un petit pong en C avec opengl et utilise glfw pour la geston des fenetres et le input clavier.
mon probleme est que quand j'appuis sur la touche 'a' pour deplacer la raquette vers la gauche raqH, elle va completement a gauche aulieu de bouger d'un cran.
en faite je comprend le probleme mais je sais pas comment le regler avec glfw.
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 glClear(GL_COLOR_BUFFER_BIT); while(running==GL_TRUE) { running = !glfwGetKey(GLFW_KEY_ESC)&& glfwGetWindowParam(GLFW_OPENED); if( glfwGetKey('A')) { raqH->x -=.01; //deplace le x de la raquette du joueur vers la gauche } if( glfwGetKey('D')) raqH->x +=.01; //deplace le x vers la droite now = glfwGetTime(); //gere le temps pour deplacer la ball if(now-oldtime>=.025) { oldtime=now; res = moveball(); // renvois autre chose que 0 si la balle sort des limites } if(res!=0) break; checkRaq(); // verifie que la raquette est dans les limites sinon la place a la limite la plus proche drawMachine(); //dessine tout les objets de la scenes actuellement balle decore et raquette glfwSwapBuffers(); }
autre fois on faisait:mais la je vois pas comment implementer ca.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if(keypressed()) //conio kbhit() //linux j'utilisais un bout de code vu dans beginning linux programming pour les //fonction kbhit() et getch() key = getkey(); //sous dos avec conio c'etait getch() if(key=='a') { key = 0; //empeche de revenir ici saus si la touche 'a' a ete presse de nouveau raqH->x-=.01; }
merci de votre patience
Partager