如果有人能告诉我如何判断两个对象是否被触摸(一个图像或一个按钮),我真的很高兴
谢谢!
如果您从不旋转对象,则可以使用 CoreGraphics 函数。
BOOL objectsTouch = CGRectIntersectsRect(object1.frame, object2.frame);
这当然要求两个对象在同一个超级视图中。否则,您必须使用 NSView 的功能来转换框架。
经典的方法是计算一个包含每个对象的最小圆,然后计算圆心之间的距离(勾股定理),看看它是否小于 R(object1 circle) + R(object2 circle)。如果小于,那么您必须使用位映射或其他一些方案来弄脏并弄脏,但如果大于,那么您可以假设对象不接触。