1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
VITESSE=10;
_root.onMouseDown = function() {
//au clic, executer {
x1 = _root._xmouse;
//definir x1
x2 = _root._ymouse;
//definir x2
// définition des vitesse horizontale et verticale
// utilisation des théorème de thales :
// vitesseX/(x1-_x) == vitesseY/(x2-_y) == VITESSE / L
// avec L = longueur totale à parcourir
// on obtient les mêmes formules avec de la trigonométrie (cosinus et sinus)
// utilisation du théorème de pythagore :
// L² = (x1-_x)² + (x2-_y)²
// on connais VITESSE, x1, _x, x2 et _y
// on en déduit les formules des vitesses horizontales et verticales
L=Math.sqrt((x1-_x)*(x1-_x)+(x2-_y)*(x2-_y));
vitesseX=VITESSE*(x1-_x)/L;
vitesseY=VITESSE*(x2-_y)/L;
mc.onEnterFrame = function() {
//executer 1x sur "mc" {
// l'arrét devient un peu plus compliqué
// on s'arrète lorsqu'au prochain coup on dépacera le point d'arrêt
if (Math.abs(x1-_x)<Math.abs(vitesseX)) {
// Arrêt
_x=x1;
_y=x2;
} else {
// sinon on déplace le clip à vitesse constante
_x+=vitesseX;
_y+=vitesseY;
}
};
}; |