Bon voila, je fais un petit jeu a la diablo, mais voila, petit probleme, quand je clique dans la fenetre le personnage se deplace vers la cible en utilisant une droite(ax+b), donc si j'ai cliqué a droite du personnage j'incrément x+1, et a gauche x-1, ce qui trouve la position y du personnage, donc il avance en ligne droite sur ma cible.
Probleme: quand j'utilise cette methode, si je clique a un angle de 0 degré(donc, devant le personnage), il avancera normalement, mais plus je m'aproche de l'axe des y(90 degré), plus le personnege avance rapidement, et quand je suis directement sur l'axe y, le personnage est collé sur ma souris.
J'en connais la cause: quand j'incrémente x et je trouve y, si mon (point actuelle) et mon (point cible) forme une droite serré(ex:80 degré) alors quand mon bond de x+1 propulse mon personnage non pas de 1 vers la cible, mais de 5 ou 6 ou plus.
Pour remedier a ça, j'ai pensé former un cercle trigonométrique autour de mon point actuelle (y=a*Sin(b*x+c)+d) et de trouve le point d'intersection entre la droite (ax+b) et le cercle ==>
(ax+b = aSIN(bx+c)+d)
ce qui me donnerais l'équation pour x, x=blablabla
donc, pour trouver mon y, je ferais
y= aSIN(b*(blablabla)+c)+d
Bref, j'aurais x=1, et mon nouveau y, trouvé par la formule, qui ferait avancer mon personnage vers ma cible en ligne droite, probleme :P:P:P:P JE ME RAPPELLE PLUS COMMENT SORTIR LE X DE aSin(bx+c)+d
Si, je vous est raconté tout ca, c'est pour savoir si vous avez une approche plus simple a mon probleme. si non, aidez moi a sortir
ce putin de x. Merci :-)
fryser_d@hotmail.com