物体接触其他物体

时间:2012-05-23 01:18:54

标签: objective-c xcode object draggable

如果有人能告诉我如何判断2个物体是否被触摸(图像或按钮)我真的很喜欢我知道如何使它们可拖动但不知道如何判断它们是否触摸并在触摸时做某事!

谢谢!

2 个答案:

答案 0 :(得分:2)

如果您从不旋转对象,可以使用CoreGraphics函数。

BOOL objectsTouch = CGRectIntersectsRect(object1.frame, object2.frame);

这当然要求两个对象在同一个超视图中。否则,您必须使用NSView的功能转换帧。

答案 1 :(得分:0)

经典方法是计算包含每个对象的最小圆,然后计算圆心之间的距离(毕达哥拉斯定理)并查看它是否小于R(对象1圆)+ R(对象2圆)。如果少于那么你必须使用位映射或其他方案来降低和肮脏,但如果更大则可以假设对象不接触。