【发布时间】:2016-09-26 15:41:39
【问题描述】:
我正在尝试为正在使用 Paper.js 绘制的圆设置动画。
由于圆形工具只是用于实例化通过 moveTo/arcTo 等构造的路径的快速访问,因此没有支持开始和结束角度的参数(对于像开放饼图一样的圆圈)。
我正在寻找的是一种方法,可以将绘制的圆从第一个点动画到我选择的某个半径的角度。
要指定的实际画布specification allows for explicit startAngle and endAngle。如果在 Paper.js 中是这种情况,我可以轻松实现我正在寻找的东西。但是,在 Paper.js 中,我还没有遇到过复制这种控制的方法。我在 Fabric.js 中创建了一些东西,它作为 Fabric 的圆形实现使用了与规范中的 arc 命令相同的属性。
有谁知道可以实现这一点的方法,以便我可以为 endAngle 设置动画?
【问题讨论】:
-
Canvas 的原生绘图命令在 Path 中可用 -- 参见
Path.Arc -
是的,我已经看到了,但是原生 arc 的增强和 paper 的实现之间存在很大差异。在尝试动画绘制圆时,“通过”似乎完全抽象为一个值。至少在我的脑海中,我不明白它是如何被动画来显示一个圆圈的。绘制路径后,您甚至可以操作“from”、“through”和“to”属性吗?它们似乎不是可访问的属性。
-
您可以设置动画循环:删除旧的较小弧并添加新的较大弧。 ;-)
-
谢谢,但这不是效率很低吗?此外,当我画一个圆圈时,我可以创建“从”和“到”点,但不知道如何创建“通过”点。有什么想法吗?
-
所有画布动画都涉及擦除画布和重绘更新的形状。您可以使用三角函数来计算从、通过、到。试一试。如果你不能管理。晚饭后我会发布答案。 :-)
标签: javascript canvas paperjs