Atelier : C# - FULL SCREEN – Maîtriser l’écran -->> Comment convertir des coordonnées souris en coordonnées du jeu ?
Bonjour.
Dans un jeu qui se joue à la souris, quand je suis en fenêtré les coordonnées du jeu et de la souris correspondent mais quand je passe en full screen, je n'arrive pas à convertir les coordonnées souris en coordonnées du jeu.
Merci de votre aide.
Il va te falloir stocker les valeurs du ratio de ton viewport. A partir de là, avec le ratio tu as juste à multiplier la position de la souris par le ratio.
Le ratio est calculé localement dans le Draw si je me souviens bien. Du coup il faudrait en faire un membre de ta classe principal pour le garder sous la main et l'utiliser dans l'update.
Bonjour.
Désolé ça ne fonctionne pas.
J'ai un jeu fenêtré en 1024x768(mais dans d'autres résolutions le résultat est le même).
J'ai essayé ça :
xMouse = (int)(newMouseState.X * ratio);
yMouse = (int)(newMouseState.Y * ratio);
Ce que j'obtiens ce sont les dimensions de mon écran physique (1920x1080).
Ce que je veux c'est obtenir 0,0 quand je pointe la souris en haut à gauche de la zone occupée par mon jeu et 1023,767 quand je pointe en bas à droite de la zone occupée par mon jeu. Si j'obtiens des valeurs inférieures ou supérieures quand je pointe sur les bandes noires de l'affichage ce n'est pas grave je ne m'en sers pas.
Merci.
Il n'y a pas de raison que tu obtiennes les dimensions de ton écran physique si ton ratio n'est pas 1/1. Tu as tracé la valeur ?
Exemple si ton ratio est 0.8, alors une position 100 deviens 80. Ensuite tu ajoutes ta marge (bande noire) et tu devrais avoir la coordonnées relative à ton viewport et non ton écran physique.
- 6 Forums
- 239 Sujets
- 842 Posts
- 0 En ligne
- 45.5 {numéro}K Membres