révise les vecteurs , ca peut t'aider.
Dans ton cas , il te faut connaitre la direction.
elle s'obtient ainsi :
Direction = Point d'arrivé - Point de départ
Direction /= longueur de direction
en pb il te faut ce genre de fonction :
Code : Tout sélectionner
Structure vector2
x.f
y.f
EndStructure
Procedure.f Vector_Length(X.f, Y.f)
ProcedureReturn Sqr(X * X + Y * Y)
EndProcedure
Procedure Vector_Normalize(*NormVector.vector2)
length.f = Vector_Length(*NormVector\X, *NormVector\Y)
*NormVector\X = *NormVector\X / length
*NormVector\Y = *NormVector\Y / length
EndProcedure
Et la facon de te déplacer :
Code : Tout sélectionner
A.vector2
A\x=100
A\y=100
B.vector2
B\x=500
B\y=800
Direction.vector2
Direction\x = B\x - A\x
Direction\y = B\y - A\y
Vector_Normalize(@Direction)
Debug "Direction :"
Debug Direction\x
Debug Direction\y
Debug ""
Debug "Deplacement de A vers B (nouvelle position de A)"
Vitesse.f = 1
Debug A\x + Direction\x * Vitesse
Debug A\y + Direction\y * Vitesse