Czy ktoś użył .animateWith()
w Raphael, aby z powodzeniem utrzymywać szybkie animacje w synchronizacji? Jest to słabo udokumentowane. Twórca biblioteki ma video demonstration, ale nie mogę znaleźć kodu.Jak używać Raphael .animateWith()
Mam metronom Javascript, który składa się z linii (ramienia metronomu) i "wagi" w kształcie trapezu, która ostatecznie przesunie się w górę i dół, aby wskazać tempo. Mam skrzypce roboczą here, a linie o których mowa, to:
var ticktock = Raphael.animation({
"50%": { transform:"R20 " + x + "," + y, easing: "sinoid", callback: function() { tick(this, repeats, done); }},
"100%": { transform:"R-20 " + x + "," + y, easing: "sinoid", callback: function() { tick(this, repeats, done); }}
}, interval).repeat(repeats/2);
arm.animate(ticktock);
weight.animateWith(arm, ticktock, ticktock);
Jeśli sprawdzeniu skrzypce i nadać mu wysokie tempo i około 20 kleszczy, powinien pojawić się opóźnienie masy za ramię. (Spróbuj tego kilka razy, jeśli nie - Prawo Murphy'ego itp.) Myślałem, że właśnie to powstrzymało animateWith(). Być może używam go niepoprawnie.
Jeśli spojrzysz na funkcję Raphael source dla funkcji .animateWith(), zobaczysz, że synchronizuje ona parametr .start każdej animacji, FWIW.
Dzięki za wygląd. Obawiam się, że wciąż mam dość znaczącą dyslokację w wysokich okresach - spróbuj 280 uderzeń na minutę - w Chrome. Dokumentacja ma dla mnie niewielki sens. Źródło tej funkcji wydaje się pasować do właściwości "start" animacji w niektórych tablicach animacji. Może to po prostu nie działa? –
Źródło: https://github.com/DmitryBaranovskiy/raphael/blob/master/raphael.core.js#L4123 –
@ChrisWilson Pracuję dla mnie płynnie. Korzystanie z Chrome również. Moja maszyna to 3.2Ghz Intel i5 z 8GB RAM działający na OSX 10.8.3 – sweetamylase