【问题标题】:Custom Animation in Raphael.jsRaphael.js 中的自定义动画
【发布时间】:2012-04-06 20:13:51
【问题描述】:

催眠

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

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

图:

问题

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

我尝试了什么

  1. 做直接的动画,从头到尾移动圆圈,改变半径。就像我说的,这不行。

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

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

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

那么,有什么想法吗?

【问题讨论】:

  • 我也想要这个问题的答案......我正在制作一个教学时钟,我需要一个弧线来沿着弧线平滑地制作动画。不过,与您的情况一样,它会直接跳到新点:jsfiddle.net/zFXCb/10 如果我找到解决方案,我会发布答案。

标签: javascript animation svg raphael


【解决方案1】:

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

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

【讨论】:

  • 这对我的问题没有帮助,我知道如何使用 getPointAtLength。
猜你喜欢
  • 2011-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-29
  • 2013-03-06
相关资源
最近更新 更多