Способ добавить точки к сплайну в 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)
метод...