有没有办法在KineticJS中为现有样条线添加点?现在,我必须在样条线上调用destroy()
并在添加点时创建一个全新的样条。我希望有更好的方法......
答案 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);
}