PaperJs循环遍历路径的点位置,导致无法读取未定义的属性“点”

时间:2019-08-30 11:46:09

标签: javascript paperjs

我正在尝试使用PaperJS实现波动的动画效果。

我克隆了2条路径,每条都有4个点,一个c.f(1)动画化了cicle的每个路径中的每个点,但是setInterval我得到了这个for i>=2实况观看动画可以看到并非所有点都具有动画效果。

这是一个Codepen演示:https://codepen.io/mrk1977_02/pen/QWLgVMp?editors=0010

error "Cannot read property 'point' of undefined".

1 个答案:

答案 0 :(得分:1)

问题出在您致电path1.simplify(1);上。
实际上,这会从您的路径中删除一些细分。然后,当您尝试遍历4个段时,路径仅包含2。
因此,当path1.segments[i]i = 2引发错误时,path1.segments[i].point是不确定的。
解决方案是删除行path1.simplify(1);
您已经调用了path1.smooth();,这对您来说已经足够了,因为它可以完成平滑工作,并且不会删除任何段,因此您的脚本可以按预期工作。