Déplacement en 4 directions sur cases

Bonsoir,

Je rencontre un problème lors de déplacements d’un objet “Unité” sur des cases pour un système de T_RPG.
En effet, pour les cases utilisant le même X ou Y que l’objet, il suffit d’un déplacement vers l’objet “cases”.
Mais pour une cases qui se trouve hors de ces critères, à savoir, n’utilisant ni les même coordonnées X et Y, cela ne marche pas car le déplacement se fait alors en oblique, ce que je ne veux pas car je désire seulement 4 directions.

J’ai essayé de faire en premier lieu un déplacement de “Case.X()” et “Variable(Unité_Y)”, ce dernier étant calculé au moment du clic de souris, en pensant effectuer le déplacement en Y plus tard, mais lors de mes tests, l’objet Unité fait n’importe quoi, il se dirige vers la case en ne suivant pas le trajet X puis remonte presque immédiatement en faisant un arc de cercle pour disparaitre plus haut, loin de ma caméra …

Je ne comprends pas d’où vient le problème, et cela m’énerve car je souhaite juste faire en sorte que l’objet se déplace en suivant les cases en 4 directions seulement. Pouvez vous m’aider ?

S’il vous plait une réponse ?

En attendant je peux continuer le système d’attaque et de tour mais j’ai vraiment besoin de régler ce problème de direction pour la suite.

Normalement décomposer en un mouvement en Y puis en X ( ou inversement ) devrait suffire :

Par exemple, tu met une variable “EtatMouvement” de l’objet à 1 quand le clic est fait, et tu enregistre la position X et Y à atteindre comme tu le fais déjà dans deux variables de l’objet je suppose. Ensuite, tant que EtatMouvement est égal à 1, tu déplace juste l’objet en position Y. ( C’est à dire, tu lui dit d’aller à la position TonObjet.X();TonObjet.Variable(PositionFinaleY) ). Une fois que la position Y de TonObjet est correcte, tu met EtatMouvement à 2, puis tu déplace juste l’obje en position Y ( C’est à dire, tu lui dit d’aller à la position TonObjet.Variable(PositionFinaleX);TonObjet.Y() ). Une fois qu’il est à destination, tu met la variable EtatMouvement de l’objet à 0.