防止两个可拖动的圆相交时重叠

时间:2013-05-06 18:00:16

标签: uiimageview draggable intersect

我到处寻找我可以做的事情我猜有一个简单的解决方案。但我是一名新程序员,我遇到了一些麻烦。我在视图中有一些可拖动的图像视图圈,我想防止图像视图之间的任何重叠。我不是在寻找任何严重的碰撞解决方案(摩擦,矢量等......),只是一旦它们彼此接触就阻止图像视图进一步发展。

对此解决方案的任何指导表示赞赏。感谢。

1 个答案:

答案 0 :(得分:0)

这应该只是位置和半径的简单比较...... 尝试拖动时,计算任意两个圆的中心点之间的距离(使用新位置),如果小于半径之和,则它们重叠。伪代码:

onMoveAttempted() {  distance = sqrt((moving(x) - existingcircle(x))^ 2)+((moving(y) - existingcircle(y))^ 2))

if(距离<(移动圆的半径+现有圆的半径)  然后    禁止移动,因为圆圈会重叠  万一 }