[ Les STARS d'OPENGL et GLUT HELP SVP ] => gestion souris

=> gestion souris [ Les STARS d'OPENGL et GLUT HELP SVP ] - Programmation

Marsh Posté le 28-11-2001 à 18:20:58    

Je developpe une partie d'un jeu 3D du style de quake, et la souris permet de faire pivoter le joueur. J'ai quelques problèmes au niveau de la gestion de la souris.
Ceux qui ont plus d'experience que moa pourrait t'il m'aider, ca serait cool.
 PBS :  
 -1) Comment faire pour accélerer la souris sans perdre en précision.
 Donc sans augmenter l'angle?
 
 -2) Bien que je repositionne ma souris comme en barbarior pour pas quelle quite la fenêtre, si je fait un deplacement rapide de cette dernière ca sort de la fenetre qd même (pas gentil toA!! :-)))
  => je peut plus faire tourner mon joueur si ca sort de la fenetre
 
 -3) Quand je deplace vite la souris ca bouge moin vite que si je la deplace lentement ??  
 
 
 
Je donne ma fonction de gestion de la souris :  
 Principe : je mémorise les coords précédentes de la souris pour savoir si je l'ai déplacer a gche ou dte.
 
 void GESTIONSOURIE (int x, int y) {
float resx,resy;
resx=etatsourie[0] - (float)x;
resy=etatsourie[1] - (float)y;
 
  /* Joueur ne peut regarder + haut que nb cercle d'1 1/2 sphere -10 */
  if (LEVEL == ((SP.nb_cercle-1)/2 - 10)) LEVEL--;  
  else if (LEVEL == -((SP.nb_cercle-1)/2 - 10)) LEVEL ++;
 
  if (resx <0 || x>=1020) {
   AngleRotation+=VITESSE_ROTATION;
   etatsourie[0]=x;
  }
  else if (resx >0 || x<=5) {
   AngleRotation-=VITESSE_ROTATION;
   etatsourie[0]=x;
  }
 
 
  if (resy <0  || y >= 718) {
   etatsourie[1]=y;
   LEVEL--;  
  }
  else if (resy >0  || y <= 50) {
   etatsourie[1]=y;
   LEVEL++;
  }  
 
  if (x>=1020 || x <= 5 || y >= 718 || y<= 50) {//repositionne souris
   SetCursorPos(300,300);
  }
   
  //calcul des coords du point de vue
  Joueur.bx = cos(AngleRotation)*rayon(abs(LEVEL))+Joueur.cx;
  Joueur.by = hauteur(LEVEL)+ALTITUDE+DistanceAuSol+Etage;
  Joueur.bz = sin(AngleRotation)*rayon(abs(LEVEL))+Joueur.cz;
}
 
J'attend des réponses...


---------------
From Pymousses.
Reply

Marsh Posté le 28-11-2001 à 18:20:58   

Reply

Marsh Posté le 29-11-2001 à 20:30:20    

Tu devrais plutôt faire un truc dans le même genre que ça :
http://nehe.gamedev.net/tutorials/lesson10.asp
 
ou que ça :
http://www.gametutorials.com/downl [...] a3_OGL.zip
 
en attendant que ce soit là : www.glinfrench.fr.st  :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed