paper.js中的线变形

时间:2015-04-03 16:24:44

标签: javascript paperjs

通过使用paper.js,我想在对象移动后创建一个曲线变形动画。这种变形应该只是一个简单的变化,比如在CorelDraw中移动路径句柄,但它应该跟随移动的对象。

到目前为止,我的努力是jsbin:

http://jsbin.com/luwosiniga/1/edit?js,output

主要问题在于:

var sigm_location = sigmoid_path.getNearestLocation(imi_logo.position);
sigm_location.segment.handleIn.x = 20;

即,我可以看到段点句柄已移动,但路径形状保持不变,并且它也仅对第一个段执行此操作。控制台输出中的值(对于handleIn.x)是20.有什么建议吗?

此外,如果可以采用任何其他技术,那么知道......

1 个答案:

答案 0 :(得分:1)

我已经攻击了你创建的jsbin并找到了一些东西。

我认为主要问题是行sigmoid_path.smooth()。如果你评论说该线变形;平滑路径摆脱了变形。也许通过平滑路径开始每个事件然后变形线。看起来调整相邻段的手柄也可能会产生更令人愉悦的变形。

我相信你也想使用sigmoid_path.add(newPoint)而不是lineTo,因为你一次只添加一个段。

如果你想看一下,我的修订版就在这里:jsbin.com/sukolimavu/2/edit

一个小注 - 我在遍历曲线长度后关闭onFrame处理程序 - 它有助于在使用代码时的性能。