0
키네틱스를 사용하여 세로선과 가운데에 가로선과 원을 그립니다.두 그룹 사이에 하나의 객체를 공유하는 키네틱 스
var stage1 = new Kinetic.Stage({
container: 'container',
width: 1024,
height: 1024
});
var blayer1 = new Kinetic.Layer();
var bgroup1 = new Kinetic.Group({
draggable: true,
dragBoundFunc: function (pos) {
return {
x: pos.x,
y: this.getAbsolutePosition().y
}
}
});
var BlueLine1 = new Kinetic.Line({
points: [512, 0, 512, 1024],
stroke: '#0080c0',
strokeWidth: 2,
lineCap: 'round',
lineJoin: 'round'
});
var circle = new Kinetic.Circle({
x: stage1.getWidth()/2,
y: stage1.getHeight()/2,
radius: 140,
stroke: '#00ffff',
strokeWidth: 2
});
bgroup1.add(circle);
bgroup1.add(BlueLine1);
blayer1.add(bgroup1);
stage1.add(blayer1);
blayer1.draw();
var glayer1 = new Kinetic.Layer();
var ggroup1 = new Kinetic.Group({
draggable: true,
dragBoundFunc: function (pos) {
return {
x: this.getAbsolutePosition().x,
y: pos.y
}
}
});
var GreenLine1 = new Kinetic.Line({
points: [0, 512, 1024, 512],
stroke: 'red',
strokeWidth: 2,
lineCap: 'round',
lineJoin: 'round'
});
ggroup1.add(GreenLine1);
glayer1.add(ggroup1);
stage1.add(glayer1);
glayer1.draw();
}
감사합니다. Mark.이 질문은 두 번째로 도움이됩니다. 그것은 훌륭했습니다. 두 줄이 부식되는 지점이 아니라 무대 중앙으로 원이 돌아갑니다. 다시 한번 감사드립니다. – hncl
죄송합니다. 원의 X와 Y를 stage1.getHeight/2로 설정하는 것이 문제가 될 수 있다고 생각하십니까? – hncl
예, 서클을 다른 그룹으로 이동 한 후에는 x/y도 재조정해야합니다. 나중에 그룹을 이동하더라도 선과 원의 상대 위치가 동일해야하기 때문에 시작 부분에서 한 번만 다시 조정하면됩니다. ;) – markE