在kineticJS中检测到碰撞时强制拉伸

时间:2014-04-10 09:55:56

标签: kineticjs

当与另一个形状的边框相交时,如何拖动拖动的形状(dragend动作)?我已经测试了碰撞检测。我现在想要的是如何实际停止移动,并强行放弃。

重要编辑:我需要操纵一组形状,但似乎需要另外一组解决方案。有什么建议吗?

我实际上找到了有关形状的帮助,并试图让它与群组一起使用。这是小提琴http://jsfiddle.net/PFH55/12/。我得到一个控制台错误:没有定义动力学,而是定义了它。

另一个编辑:我需要解决方案来处理KineticJS中可拖动的群组克隆。 (我在这里的意思是,在一个图层中有一个原始组,拖动它会创建一个克隆,只能在第二层中删除,在drop上:做碰撞检测的魔力)

1 个答案:

答案 0 :(得分:1)

您可以尝试调用每个Node object可用的方法stopDrag()。 因此,一旦找到碰撞检测,请在被拖动的节点上调用此方法。

这对你有帮助吗?

<强>更新

我找到了用正方形进行碰撞检测的工作示例。在某些条件下与2个物体发生碰撞时可能会有些麻烦,因此您可以对此进行改进。当前算法还假设所有对象都是正方形。

这是小提琴:http://jsfiddle.net/PFH55/19/

doObjectsCollide函数new返回与其冲突的所有对象的数组。然后在dragBoundCarre中使用它。可以改进属于行if(collided.length > 1)的代码,使两个或更多对象的碰撞检测更好一些。