cs_inaden
Messages postés618Date d'inscriptionmercredi 4 avril 2007StatutMembreDernière intervention27 août 2010
-
4 avril 2007 à 11:51
cs_inaden
Messages postés618Date d'inscriptionmercredi 4 avril 2007StatutMembreDernière intervention27 août 2010
-
4 avril 2007 à 15:50
Bonjour à tous,
voilà, je fais un drag and drop sur un clip qui une fois relaché se déplace selon la position du clip à droite ou à gauche... jusque là, pas de problème. Par contre, j'aimerais, si cela est possible, que la vitesse de mon déplacement dépende de la vitesse de déplacement dela souris avant le relachement.
J'ai cherché dans l'aide Flash par rapport à gettimer pour essayer de calculer une vitesse en faisant la division des positions d'origine (au moment du drag) et finale (au moment du drop) par le temps écoulé, mais je n'arrive pas à concevoir l'écriture d'un tel calcul.
En fait, je ne sais pas par où commencer.
Si quelqu'un a une idée de piste ce serait génial.
Vous remerciant par avance.
D.
cs_Girou
Messages postés1203Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention23 juillet 20092 4 avril 2007 à 14:52
Bonjour
lorsque tu commences ton drag
TimeO= getTimer(); // temps 0
PxO=this._xmouse // position initiale de la souris en x
PyO=this._ymouse // position initiale de la souris en y
lorsque la souris est relachée (stopDrag)
TimeF=getTimer(); // temps fin du drag
PxF=this._xmouse // position final de la souris en x
PyF=this._ymouse // position final de la souris en x
// ensuite un peu de mathématique...
DeltaT=TimeF-TimeO // durée du déplacement en milliseconde
DelatX =PxF-PxO // distance totale en horizontale (x)
DelatY=PyF-PyO // distance totale en verticale (y)
// distance réelle entre les deux points (origine et arrivée)
Distance=Math.sqrt((DelatX*DelatX)+(DelatY*DelatY))
cs_inaden
Messages postés618Date d'inscriptionmercredi 4 avril 2007StatutMembreDernière intervention27 août 20102 4 avril 2007 à 15:11
Tout vient à qui sait attendre Javascript:Insert_Emoticon('/imgs2/smile.gif');
Mille merci, je n'arrivais pas formuler correctement le truc.
J'étais parti sur :
var vitesse:Number=25;
var position_i:Number=0;
var position_f:Number=0;
var temps:Number=0;
var espace:Number=0;
var diff:Number=0;
function updateTimer():Void {
temps = getTimer();
}
function calculVitesse(){
diff=position_x-position_y;
espace=Math.abs(diff);
vitesse=espace*100/temps;
trace("vitesse = "+vitesse);
}
Mais ma vitesse me renvoyais NaN
J'essais de ce pas.
cs_inaden
Messages postés618Date d'inscriptionmercredi 4 avril 2007StatutMembreDernière intervention27 août 20102 4 avril 2007 à 15:50
Super bien vue, le calcul de la distance par pytagore.
Ensuite je fais un calcul de ma vitesse par :
vitesse=Distance*1000/DeltaT;
Le facteur 1000 étant pour palier au facteur miliseconde.
Very good feeling
Javascript:Insert_Emoticon('/imgs2/smile_big.gif');