С помощью собрата StackOverflow пользователя, я в состоянии изменить положение двух линий и круг на сцене, используя следующие:KineticJS - обновление drawFunc после объекта на другой стадии был перемещен
var circle2 = new Kinetic.Circle({
drawFunc: function(canvas) {
var context2 = canvas.getContext();
var centerX2 = blueLine2.getPosition().x;
centerY2 = greenLine2.getPosition().y;
context2.drawImage(gArrow2, -156, -23 + centerY2, 11, 23);
context2.drawImage(gArrow2, 156, -23 + centerY2, 11, 23);
context2.drawImage(bArrow2, centerX2, 156, 23, 11);
context2.drawImage(bArrow2, centerX2, -156, 23, 11);
context2.beginPath();
context2.arc(centerX2, centerY2, this.getRadius(), 0, 2 * Math.PI, false);
context2.lineWidth = this.getStrokeWidth();
context2.strokeStyle = this.getStroke();
context2.stroke();
},
x: cx + gx,
y: cy + gy,
radius: 70,
stroke: '#00ffff',
strokeWidth: 3,
opacity: 0.5
});
layer2.add(circle2);
Он отлично работает, теперь моя задача состоит в том, если я перееду линию на втором этапе, например, горизонтальную линию, я также можно перемещать Horizonal линии на первом этапе с помощью:
greenLine2.on('dragend', function (event) {
var y1 = greenLine2.getPosition().y;
greenLine3.setPoints([0, 256 + y1, 512, 256 + y1]);
centerY3 = 256 + y1;
layer3.draw();
layer2.draw();
});
Однако я могу» t обновите слой, чтобы переместить также вертикальную линию и круг. Я был бы благодарен за ваши предложения, спасибо заранее.
Опубликовать jsfiddle, если вам нужна дополнительная помощь – SoluableNonagon