function draw_shape(sides) {
var shape_group = new Kinetic.Group({
x: 10,
y: 10,
width: 10,
height: 10,
draggable: true
});
var shape_size = 10
var radius = shape_size / 2
var shape = new Kinetic.RegularPolygon({
x: 10,
y: 10,
sides: sides,
radius: radius,
fill:'#fff',
stroke: 'black',
strokeWidth: 1,
lineJoin: 'bevel'
});
shape_group.on('dragmove', function() {
var current_cell = current_cell_from_mouse_position()
shape_group.setX(current_cell.x);
shape_group.setY(current_cell.y);
});
shape_group.add(shape);
board_layer.add(shape_group);
stage.add(board_layer);
}
在这个例子中 current_cell_from_mouse_position() 给了我正确的 x 和 y 坐标。这个例子在没有组的情况下效果很好。我不知道为什么,但是当我添加组时,会创建一个奇怪的偏移量,将组和形状移动到右下角。
任何帮助将不胜感激谢谢