当与另一个形状的边框相交时,如何拖动拖动的形状(dragend
动作)?我已经测试了碰撞检测。我现在想要的是如何实际停止移动,并强行放弃。
重要编辑:我需要操纵一组形状,但似乎需要另外一组解决方案。有什么建议吗?
我实际上找到了有关形状的帮助,并试图让它与群组一起使用。这是小提琴http://jsfiddle.net/PFH55/12/。我得到一个控制台错误:没有定义动力学,而是定义了它。
另一个编辑:我需要解决方案来处理KineticJS中可拖动的群组克隆。 (我在这里的意思是,在一个图层中有一个原始组,拖动它会创建一个克隆,只能在第二层中删除,在drop上:做碰撞检测的魔力)
答案 0 :(得分:1)
您可以尝试调用每个Node object可用的方法stopDrag()
。
因此,一旦找到碰撞检测,请在被拖动的节点上调用此方法。
这对你有帮助吗?
<强>更新强>
我找到了用正方形进行碰撞检测的工作示例。在某些条件下与2个物体发生碰撞时可能会有些麻烦,因此您可以对此进行改进。当前算法还假设所有对象都是正方形。
这是小提琴:http://jsfiddle.net/PFH55/19/
doObjectsCollide函数new返回与其冲突的所有对象的数组。然后在dragBoundCarre中使用它。可以改进属于行if(collided.length > 1)
的代码,使两个或更多对象的碰撞检测更好一些。