CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

(opengl/c++) pointeur de souris

blip
blip
Niveau 6
18 juin 2004 à 13:50:24

Bonjour,
Je débute avec opengl, et j´ai un problème:
Je me déplace en déplacant la souris mais quand elle arrive au bord je reste bloqué : comment la remettre au milieu de l´écran ?

gollumkawder
gollumkawder
Niveau 10
18 juin 2004 à 13:53:15

Je n´ai pas très bien compris ton histoire de " bord" et de " bloqué" mais voilà ce que je te conseille de faire, tu programmes une touche qui remettra automatiquement la visée ( la vision du joueur quoi) à une coordonnée centre, comme ça dès que tu es bloqué paf tu rappuis et tu reviens au milieu, ça existe pour certains FPS comme medal of honor allied assault, mais si ta souris se bloque c´est que tu as mal dû faire quelque chose, réexplique ton problème stp

--log

JeanYvesYves
JeanYvesYves
Niveau 10
18 juin 2004 à 14:09:13

je vois ton probleme. ce qu´il faudrait, cest que tu récuperes un deltaX, et un deltaY.
je viens de parcourir la doc de glut, je pensais qu´on pouvait le faire, mais je n´ai pas trouvé :-/ ça ne veut cependant pas dire que ça existe pas...
tu utilises glut ?

i_am_the_law
i_am_the_law
Niveau 6
18 juin 2004 à 14:19:57

glutWarpPointer(int x, int y);

JeanYvesYves
JeanYvesYves
Niveau 10
18 juin 2004 à 14:39:33

:) Comment vas tu I´m the law ? ça fait longtemps :)

i_am_the_law
i_am_the_law
Niveau 6
18 juin 2004 à 15:22:23

Je vais bien, je prends un peu de couleurs avant de rentrer faire ma soutenance ; )

blip
blip
Niveau 6
18 juin 2004 à 16:28:12

Je n´uttilise pas glut.
Voici le code qui s´éxecute quand le prog reçois WS_MOUSE_MOVE:
/ /sauvegarde des anciennes coordonnées
xb=xa;
yb=ya;
/ /récupération des nouvelles
xa=LOWORD(lParam);
ya=HIWORD(lParam);
/ /change l´orientation de la caméra
cer1 -= double ( xb-xa) / 100;
cer2 += double ( yb-ya) / 100;

if(cer2 > 1.570795){
cer2 = 1.570795;
}
else{
if(cer2 < -1.570795){
cer2 = -1.570795;
}
}

xor= double(10*sin(cer1));
yor= double(10*cos(cer1));
zor= double(10*sin(cer2));

Le problème c´est que quand une des coordonnées de la souris est au maxi ou au mini, et bien y a plus rien qui change si on continue à bouger la souris dans la même direction

i_am_the_law
i_am_the_law
Niveau 6
19 juin 2004 à 14:41:57

si tu es sous windows alors utilise
SetCursorPos(x,y)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/cursors/cursorreference/cursorfunctions/setcursorpos.asp

Remets les coordonnees du curseur au centre de l´ecran apres chaque mouvement.

dnob700
dnob700
Niveau 10
19 juin 2004 à 14:50:44

oui mais SetCursorPos risque de déclancher WS_MOUSE_MOVE alors il faut un boolean qui empêche que ça se produise ( tu le mets sur true avant d´utiliser la fonction et au début de la routine de l´évenement tyu le teste, s´il est vrai tu le mets faux et tu quitte l´événement) et il ne faut plus utiliser xb et yb mais les coordonné que tu utilise pour recentrer la souris.

Comme ca, même si tu perd une position, ça reste bon pour la suite.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment