javascript - Raphael.js 中的自定义动画

标签 javascript animation svg raphael

质押

我在一条路径上有一些圆圈(见图中的开始形状),它们需要动画到另一条路径(图中的结束形状)。

动画必须做的有几个 Action :
- 将整个形状移动到新位置
- 改变路径
- 减少所有圆半径

图:
Start and end position

问题

Raphael.js 知道如何将圆从原始坐标动画化到最终坐标并改变半径。因为动画的运行路径与原始动画和最终动画不同,所以动画看起来不太好。圆圈从 x1,y1 到 x2,y2 在一条直线上。

我尝试了什么

  1. 制作简单的动画,将圆从头移动到尾,改变半径。就像我说的,这不行。

  2. 间隔移动每个圆圈,在每次迭代时计算新路径并计算圆圈的位置。这运行得非常慢。

  3. 使用 Element.getPointAtLength() 在每次迭代中计算临时圆圈位置。这也很慢。

  4. 在数组中硬编码一些中间路径,并在每个路径中运行动画。这在速度方面更好,但看起来有点不稳定

那么,有什么想法吗?

最佳答案

http://irunmywebsite.com/raphael/additionalhelp.php?v=2&q=element.getpointatlength

我正在使用 iPod,所以不多说,但这可能会有所帮助

关于javascript - Raphael.js 中的自定义动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9819377/

相关文章:

javascript - 我如何做一个数组组并对其进行计数,就像在 MySQL 中按给定列 id 分组一样?

javascript - 更新 localStorage 中的项目时出现问题

javascript - 尽管 View 框按比例等于宽度和高度,为什么 SVG 仍显示为裁剪的?

javascript - 如何获取 SVG 变换属性的矩阵元素

ios - drawRect 绘图的动画

存在 SVG 时,CSS 选择器无法按预期工作

javascript - jQuery .append() 和脚本行为和管理

javascript - 使用 Node.js 的服务器 WebSocket 和服务器 http

Google Chrome 中的 CSS 转换延迟

ios - 附加导航栏在模态转场推送中从顶部滑动