2013-02-07 39 views

回答

5

你可以添加在行的末尾。

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

如果要在行的中間添加,則需要使用函數來重建點。即排序X點

----樣條(編輯) -

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

我得到這個錯誤,'TypeError:f [0]是未定義的。似乎你的機制是有道理的,但它只適用於前2個點。第三點導致錯誤並且樣條消失。 –

+0

不知道爲什麼樣條線使用allPoints而不是點來拉緊它。但是,如果您再次設置整點,則它將起作用。再多一行。答案被編輯。 – allenhwkim

+0

是的,這基本上就是我所做的(參考我在這裏回答我自己的問題)。不管怎樣,我仍然會對點數組進行引用。 –

0

剛剛從Line類找到setPoints方法Spline可以使用。這效果更好,我不必摧毀樣條線並重新創建它。如果有人有更好的答案,那會很棒。我希望有一個隱藏的add(point)方法...

0

你可以做

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

,或者創建一個快捷功能:

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