在KineticJS中为点样条添加点的方法?

时间:2013-02-07 07:29:56

标签: javascript kineticjs spline

有没有办法在KineticJS中为现有样条线添加点?现在,我必须在样条线上调用destroy()并在添加点时创建一个全新的样条。我希望有更好的方法......

3 个答案:

答案 0 :(得分:5)

您可以在行尾添加。

line.attrs.points.push({x:100, y:20})
layer.draw()

如果要在行的中间添加,则需要使用函数来重建点。即按x点排序

----对于Spline(编辑) -

spline.attrs.points.push({x:10,y:10})
spline.setPoints(spline.attrs.points); 
layer.draw();

答案 1 :(得分:0)

刚刚找到setPoints类可以使用Line类的Spline方法。这样做效果更好,我不必破坏样条并重新创建它。如果有人有更好的答案,那将是伟大的。我希望有一个隐藏的add(point)方法......

答案 2 :(得分:0)

你可以做到

 spline.setPoints(spline.getPoints().push({x:10,y:10})); 

或创建快速功能:

 function addPoint(spline, point){
      spline.setPoints(spline.getPoints().push(point); 
 }