Déplacement d'un point en fonction d'un joystick

Résolu/Fermé
predact Messages postés 170 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 15 mai 2015 - 12 oct. 2012 à 19:51
predact Messages postés 170 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 15 mai 2015 - 15 oct. 2012 à 18:41
Bonjour,
J'aimerai pouvoir déplacer un point dans une fenêtre grâce à un joystick qui peut envoyer soit l'angle dans lequel il est, soit ces coordonnées. Après moult tentative mon point se déplace horizontalement, verticalement et en diagonal (avec l'équation y=x).
Je pense que la roue à déjà été inventé, j'ai trouvé des choses avec les coordonnées polaires mais si j'ai bien compris le point reste au centre et le reste bouge or je voudrais déplacer mon point dans ma fenêtre comme le jeu snake mais dans toutes les directions.

Merci d'avance.
Bonne soirée à tous.


A voir également:

6 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
15 oct. 2012 à 00:41
J'ai fais un petit lapsus au début...
Tu dois trouver le centre de ton écran (ou de la fenêtre de ton appli) avec par exemple
xCentre = ?
yCentre = ?
Créer deux variables
Yoffset = 0
Xoffset = 0
Bon, ça c'est pour démarrer.
Ensuite c'est comme je dis dans un poste précédant, tu dois calculer le X et Y avec de la trigono,
Tu à donc xOffset = xOffset + X (X peut être négatif et/ou xOffset aussi)
la position du point horizontal est donc xCentre + xOffset
idem pour Y
Sans oublier de gérer les dépassement de l'écran (ou de l'appli)

Malheureusement ma trigono est loin derrière moi et je ne me rappel plus comment faire avec Arc et Tangente et rayon.
J'ai encore employer y a 3/4 ans, je recherche et si je trouve je reviens.
A+
1
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 13/10/2012 à 11:08
Bonjour,
Ne perd pas de vue...
Ce n'est pas ton Joystick qui déplace le point mais ton code.
Le joystick se contente de te renvoyé la position du levier (coordonnées)
Le point central c'est toujours l'endroit où se trouve le point et en fonction du retour du joystick il faut le déplacer, mais juste après le déplacement le point central est de nouveau l'endroit où le point se trouve.
Si les coordonnées renvoyées par le joystick sont en degrés (0 à 360), le point étant positionner en X.Y tu va devoir faire un peu de trigonométrie.
En fait, le point central c'est toujours le X.Y actuel
A+

Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
predact Messages postés 170 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 15 mai 2015 16
14 oct. 2012 à 00:18
Merci pour cette réponse, donc je dois toujours recalculer des coordonnées, et pas faire y+(un nombre de pixel) et x+(un nombre de pixel) en déplaçant mon point central avec mon point finalement. Ou garder le centre de ma fenêtre comme point central afin de me déplacer autour de celui ci ?
Le problème c'est que je vois pas comment calculer des coordonnée de pixel en pixel pour que le déplacement de mon point soit fluide. Parce qu'en soit on a 14 pixels possibles tout autour du point et je dois savoir sur lequel aller.

En tout cas merci, va falloir que j'avance petit à petit pour vraiment bien comprendre le concept.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 14/10/2012 à 11:27
Re,
Quel sont les données que te renvoi le joystick ?
Parce qu'en soit on a 14 pixels possibles tout autour du point et je dois savoir sur lequel aller
Tu calcul ça comment ? d'après moi il n'y en a que 8 ?

Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
predact Messages postés 170 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 15 mai 2015 16
15 oct. 2012 à 00:14
Re, euh oui c'est bien 8, j'ai dit n'importe quoi.

Mon joystick peut renvoyer un angle mais aussi des coordonnées si je veux, j'ai prévu les deux cas. J'ai essayé en fonction de l'angle qu'envoi le joystick de calculer un coefficient. C'est à dire que si il est dans les 45 premiers degrés de combien je dois déplacer en x pour un y, ensuite de 45 à 90 de combien je dois déplacer en y pour un x, et ainsi de suite. Mais ça ne fonctionne pas.

J'aimerai savoir si le principe est bon dans ce cas mon implémentation serait fausse mais au moins je serai sur le bon raisonnement.

Merci de m'aider à bien comprendre!
0
predact Messages postés 170 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 15 mai 2015 16
15 oct. 2012 à 18:41
Ok super je vais essayer de faire quelque chose. Je pense que tu m'as mis sur les rails!
Merci et bonne soirée!
0