我使用dragBoundFunc
对动能js有一个令人不安的问题。
我在选择器组上定义了dragBoundFunc,它完美地不允许绿色矩形上的组溢出。错误的情况如下:
1 - 拖动锚点以调整选择器矩形的大小,尝试将锚点拖到绿色矩形外。它似乎没有超越界限。
2 - 现在将选择器矩形移动到边缘以检查边界。你会看到,好像绿色矩形的位置以某种方式偏离其原始位置。
我该如何解决这种奇怪的行为?有什么想法吗?
Here是小提琴。
答案 0 :(得分:0)
因为rect和anchors相对于组放置,所以你应该在拖动后移动它们。我认为最好的方法是将左上角和矩形坐标保持为组中的{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();
});