Способ добавить точки к сплайну в KineticJS?

Есть ли способ добавить точки к существующему сплайну в KineticJS? Прямо сейчас я должен позвонить destroy() на сплайне и создайте совершенно новый при добавлении точек. Я надеюсь, что есть лучший способ...

3 ответа

Решение

Вы можете добавить в конце строки.

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

Если вы хотите добавить в середине строки, вам нужно использовать функцию для восстановления точек. т.е. сортировка по х баллам

---- для сплайна (отредактировано) -

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

Ты можешь сделать

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

или создайте быструю функцию:

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

Просто нашел setPoints метод из Line класс это Spline можешь использовать. Это работает намного лучше, мне не нужно разрушать сплайн и воссоздавать его. Если у кого-то есть лучший ответ, это было бы здорово. Я надеялся на скрытое add(point) метод...

Другие вопросы по тегам