2010-12-14 11 views
0

Sagen wir, ich habe eine Ellipse e, die ich entlang Pfad p animieren wollte.RaphaelJS - Einen Punkt in einem Pfad während der Animation finden

Wenn ich begann, die Ellipse zu animieren, aber dann entschied, die Animation zu stoppen, gibt es irgendeine Möglichkeit, ich könnte die Animation von ihrem aktuellen Punkt neu starten? Ich war nicht in der Lage, einen Weg zu finden, um den aktuellen Punkt der Ellipse entlang eines Pfades zu bestimmen, nachdem die Animation gestoppt wurde.

Hier ist meine Animation Code (alle Standard):

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

Antwort

1

Wie wäre es, um die letzten Punkte außen mit onAnimate definieren?

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; 
}); 

Also, wenn Sie diesen Code mehrmals ausgeführt werden, innerhalb einer Funktion oder was auch immer, Ellipse Sie nicht bei 15 beginnen wird, 5 aber im letzten Punkt in der Animation (bevor sie unterbrochen wurde).

Das was du meintest?

Verwandte Themen