2010-12-14 103 views
0

Disons que j'ai une ellipse e que je voulais animer le long du chemin p.RaphaelJS - Trouver un point dans un chemin en animant

Si j'ai commencé à animer l'ellipse, mais que j'ai décidé d'arrêter l'animation, est-il possible de redémarrer l'animation à partir de son point actuel? Je n'ai pas été en mesure de trouver un moyen de déterminer le point actuel de l'ellipse le long d'un chemin après l'arrêt de l'animation.

Voici mon code d'animation (tous standard):

e.attr({ rx: 15, ry: 5 }).animateAlong(p, 15000, true, function() { 
        e.attr({ rx: 10, ry: 10 }); 
        clicked = false; 
       }); 

Répondre

1

Que diriez-vous que vous définissez les derniers points à l'extérieur en utilisant onAnimate?

var lastX = 15, lastY = 5; 
e.onAnimation(function() { 
    lastX = e.attr('rx'); 
    lastY = e.attr('ry'); 
}); 

e.attr({ rx: lastX, ry: lastY }).animateAlong(p, 15000, true, function() { 
    e.attr({ rx: 10, ry: 10 }); 
    clicked = false; 
}); 

Donc, si vous exécutez ce code plusieurs fois, dans une fonction ou autre, vous Ellipse commencera pas à 15, 5 mais au dernier moment de l'animation (avant qu'elle ne soit interrompue).

Ce que vous voulez dire?