因此,对于 konva.js,我有一个包含两个 Text 项的组。我做了组draggable
。拖动它后,虽然我打印了文本x
,y
但它从未改变:
group.on('dragend', function() {
var group = this;
var t = group.findOne('Text');
console.log(t.x(), t.y());
});
其余代码与Konva Text Demo
因此,对于 konva.js,我有一个包含两个 Text 项的组。我做了组draggable
。拖动它后,虽然我打印了文本x
,y
但它从未改变:
group.on('dragend', function() {
var group = this;
var t = group.findOne('Text');
console.log(t.x(), t.y());
});
其余代码与Konva Text Demo
从评论中提升:
从未使用过 konva - 但也许文本位置是相对于它的组?...
在konva.js中,组内子元素的x
和y
属性是相对于它的父元素的。
代码应如下所示:
if(imageObj.src.indexOf("icon_clock.png") > -1)
{
clockX = (group.get('.topLeft')[0].getAbsoluteTransform().m[4]+group.get('.topRight')[0].getAbsoluteTransform().m[4])/2;
clockY = (group.get('.topLeft')[0].getAbsoluteTransform().m[5]+group.get('.bottomLeft')[0].getAbsoluteTransform().m[5])/2;
}
layerName.draw();
stageName.draw();