Je désirerais pouvoir déplacer mon personnage à la souris de façon naturelle ( le chemin le plus court).
En effet j’ai réussi à faire un automatisme AStar, mais le problème est que mon personnage se complique la vie à contourner des obstacles inexistant ! Et souvent, il refuse même de bouger.
De plus je ne sais pas comment orienter mon personnage dans les 8 direction avec un déplacement à la souris.
PS : Je n’ai fait que reprendre l’exemple de “BasicPathfinding”.
PS2 : Je ne sais pas du tout comment utiliser les grilles et autres choses du pathfinding.
Pourquoi ça ne marche pas ? Parce que ta souris bouge toujours d’un ou deux millimètres, ce qui fait que le curseur bouge d’un ou deux pixels, alors que l’automatisme AStar ne permet que de rejoindre des points immobiles.
J’ai modifié en faisant en sorte que lorsque je clique, l’objet flag est crée, mon personnage se dirige donc vers celui-ci.
Même si le chemin choisi n’est pas toujours le meilleur cela va aller pour l’instant.
Par contre comment faire pour que mon objet “mur” soit infranchissable ? Mais que lorsque l’ont clique dessus le personnage s’en rapproche le plus possible et s’arrête ?
Crée un objet immobile (et invisible) vers lequel tu souhaites que ton personnage se dirige (en l’occurrence prés de ton bloc). Ou alors, à la place de créer un objet, tu peux créer 2 variables qui stockent les coordonnées du point vers lequel doit se diriger ton personnage.
Je vois d’où vient le problème, du masque de collision.
Le fait que celui-ci soit rectangulaire ne convient pas du tout avec mon objet “mur” qui lui est isométrique. C’est pour cela que mon personnage ne s’y approche pas.
A oui je ne savais pas que l’on pouvais faire ca. Par contre ca ne marche toujours pas. Je sais pas pourquoi, mais mon PJ se déplace bien sur le côté gauche, mais à droite c’est impossible …
EDIT : J’ai bien vérifier, et en effet, lorsque mon objet isométrique “mur” à l’automatisme AStar enclenché, il est impossible pour mon personnage de passer dans les espace en transparence de mon image “mur”, qu’elle est un masque de collision ou non.
Alors si quelqu’un à une solution pour faire en sorte que seul les parties visibles de mon image “mur”, et non le cadre complet transparence incluse, soient prises en compte par l’automatisme AStar. Je suis tout ouïe.
EDIT 2 : J’ai réglé le problème, mais pas de la façon dont je l’espérais. D’ailleurs si une meilleure méthode marche, veuillez l’indiquer SVP.
Pour ceux que cela intéresse, j’ai créer un objet 20X20 nommé “collision”, c’est lui qui aura l’automatisme AStar et non plus l’objet “mur”.
J’ai ensuite créer plusieurs “collisions” placés en escalier sur mon mur isométrique. Ensuite il suffit de mettre l’opacité de l’objet collision à 0 et de mettre la valeur 9 à l’obstacle. Et le tour est joué.