我对使用dragBoundFunc
.
我在选择器组上定义了 dragBoundFunc,它完美地工作,不允许绿色矩形上的组溢出。错误情况如下:
1 - 拖动锚来调整选择器矩形的大小,尝试将锚拖到绿色矩形之外。它似乎不会超出界限。
2 - 现在将选择器矩形移动到边缘以检查边界。你会看到绿色矩形的位置好像从它的原始位置移动了。
我该如何解决这种奇怪的行为?有任何想法吗?
这是小提琴。
我对使用dragBoundFunc
.
我在选择器组上定义了 dragBoundFunc,它完美地工作,不允许绿色矩形上的组溢出。错误情况如下:
1 - 拖动锚来调整选择器矩形的大小,尝试将锚拖到绿色矩形之外。它似乎不会超出界限。
2 - 现在将选择器矩形移动到边缘以检查边界。你会看到绿色矩形的位置好像从它的原始位置移动了。
我该如何解决这种奇怪的行为?有任何想法吗?
这是小提琴。
因为 rect 和 anchors 是相对于 group 放置的,所以你应该在拖动后移动它们。我认为将左上锚和矩形坐标保持在组中的最佳方法是 {0, 0}。
group.on("dragend",function(){
var rect = group.get('#rectangle')[0];
var pos = rect.getPosition();
var dx = pos.x;
var dy = pos.y;
group.children.each(function(child){
child.move(-dx, -dy);
});
group.setPosition({
x : pos.x + group.getPosition().x,
y : pos.y + group.getPosition().y
});
layer.draw();
});