kineticjs中的碰撞检测+鼠标事件

时间:2013-05-17 22:42:50

标签: javascript html5-canvas kineticjs

我正在尝试 拖动&在 draggable 的多个矩形对象上删除

还有另一组 矩形对象 作为删除对象的容器 - 我已将它们添加到

  1. 如何使用可拖动元素 检测 组/或任何框对象(存储在数组中)之间的碰撞
  2. 一切都在一层。

    1. 此外,当可拖动元素放在组框上时,它不会监听鼠标悬停事件(分配给它) - 有没有办法 委派事件(当另一个元素拖过它时,鼠标悬停,mouseout)到低级别对象。

      box.on( “鼠标悬停”, function(e){ 的console.log( “鼠标悬停”);});

    2. 感谢。

1 个答案:

答案 0 :(得分:0)

  1. 我相信KineticJS不支持它自己的碰撞检测,所以你必须编写自己的函数。这两个问题是很好的起点:

    Dragging collisions

    HTML5 / kineticJS getIntersection function implementation

  2. 参考此问题的答案:How to start mouseover event while dragging

    我们看到我们可以在KineticJS上进行类似的操作,并且该解决方案与创建自己的碰撞检测功能密切相关。这里唯一的区别是不是计算div上命中检测的坐标,而是可以计算每个形状的4个角点坐标(在你的例子中是一个矩形)。此外,您可以使用getMousePos()和事件:dragstart,dragend和mousemove来代替编写自己的拖动函数,从小提琴示例中重写代码并迎合动态矩形。