Probleme souris et clavier avec opengl et glut

Résolu
cs_Mick7 Messages postés 54 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 18 avril 2007 - 22 janv. 2006 à 12:12
Alcantornet Messages postés 89 Date d'inscription mardi 8 février 2005 Statut Membre Dernière intervention 14 novembre 2007 - 23 janv. 2006 à 14:40
Salut,

bon voila en faite c'est juste un probleme de fluidité

quand j'essaye de tourner ou marcher tout va bien ca marche nickel mais
si j'essaye de faire les 2 en meme temps la ça saccade, je pense que ca
viend du faite que les fonctions sont appelé les une apres les autre
mais je ne sais pas comment regler ce probleme.



j'ai un autre probleme du meme style je n'arrive pas a marcher en avant
et sur le coté en meme temps si vous avez une solution....

4 réponses

Alcantornet Messages postés 89 Date d'inscription mardi 8 février 2005 Statut Membre Dernière intervention 14 novembre 2007
23 janv. 2006 à 14:40
oui ça peut résoudre ton problème.



glutKeyboardFunc(clavier);
// Appeler par glut losque qu'une touche est
appuyée

glutKeyboardUpFunc(Nclavier); // Appeler par glut losque qu'une touche est relacher



glutSpecialFunc(Sclavier);
// Idem mais pour les touche non ascii (comme
F1 F2 touche directionnel ect.)

glutSpecialUpFunc(SNclavier);



Le plus simple c'est que tu crées un tableau qui contient l'état de tes touches par exemple:



bool keyboard_stat[256]; // Pour les 256 touche ASCII



void clavier(unsigned char key, int x, int y){

keyboard_stat[key] = 1;

}



void Nclavier(unsigned char key, int x, int y){

keyboard_stat[key] = 0;

}



void idle(){

if(keyboard_stat['w'] || keyboard_stat['W']) printf("la touche w est appuyé\n");

if(keyboard_stat['s'] || keyboard_stat['S']) printf("la touche s est appuyé\n");

}



int main(){

// ton code blablabla



glutKeyboardFunc(clavier);

glutKeyboardUpFunc(Nclavier);

glutIdleFunc(idle);

glutMainLoop();

}
3
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
22 janv. 2006 à 12:29
Non c'est pas le pb, ces fonctions sont appelés à des millisecondes d'intervalle.

Faut pas utiliser glutKeyboard, mais glutSpecialFunc et
glutSpecialUpFunc. Tu trouveras des infos sur les pages d'aides
de glut.
0
cs_Mick7 Messages postés 54 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 18 avril 2007
22 janv. 2006 à 12:42
ok merci luhtor
0
cs_Mick7 Messages postés 54 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 18 avril 2007
22 janv. 2006 à 14:33
mais comment je dois m'en servir de ces fonctions ? et ca peut marcher pour mon probleme de souris aussi?
0
Rejoignez-nous