Page 1 sur 1
Problème de raisonnement!
Publié : mar. 31/mai/2011 22:07
par Fortix
Bonsoirs
je n'arrive pas (pour le cas d'un ptit jeux) à faire partir un "plot" d'un poin de départ (x1,y1) à un point d'arrivé (x2,y2) qui n'est autre que le pointeur de la sourie (viseur);
le raisonnement me suffit amplement;
comme quoi les choses donnent l'impression d'être simple et pourtant
merci d'avance

Re: Problème de raisonnement!
Publié : mar. 31/mai/2011 22:21
par djes
Le point doit-il se déplacer dans le temps, ou tracer une ligne? L'arrivée est-elle fixe?
Re: Problème de raisonnement!
Publié : mar. 31/mai/2011 22:40
par Fortix
le point en question doit simuler un tir simple, donc il doit se déplacer dans le temps et l'arrivé doit être fixe;
si il doit faire un tracé heuu, porquoi pas

Re: Problème de raisonnement!
Publié : mar. 31/mai/2011 23:00
par djes
Re: Problème de raisonnement!
Publié : mar. 31/mai/2011 23:04
par G-Rom
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
Re: Problème de raisonnement!
Publié : mar. 31/mai/2011 23:40
par Fortix
merci
effectivement quelques révisions s'imposent
maintenant, voyons ça de plus près....