0

我对使用dragBoundFunc.

我在选择器组上定义了 dragBoundFunc,它完美地工作,不允许绿色矩形上的组溢出。错误情况如下:

1 - 拖动锚来调整选择器矩形的大小,尝试将锚拖到绿色矩形之外。它似乎不会超出界限。

2 - 现在将选择器矩形移动到边缘以检查边界。你会看到绿色矩形的位置好像从它的原始位置移动了。

我该如何解决这种奇怪的行为?有任何想法吗?

是小提琴。

4

1 回答 1

0

因为 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();
});

http://jsfiddle.net/lavrton/TfgAV/1/

于 2013-11-12T11:15:26.833 回答