【问题标题】:kinetic js : dragBoundFunc property does not work properly动力学 js:dragBoundFunc 属性无法正常工作
【发布时间】:2013-11-12 09:13:15
【问题描述】:

我在使用 dragBoundFunc 的动力学 js 中有一个令人不安的问题。

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

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

2 - 现在将选择器矩形移动到边缘以检查边界。您会看到,好像绿色矩形的位置从其原始位置发生了某种偏移。

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

Here 是小提琴。

【问题讨论】:

    标签: javascript canvas kineticjs


    【解决方案1】:

    因为 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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多