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.