Ios 当圆形图像与Xcode中的CGRect相交时发出

Ios 当圆形图像与Xcode中的CGRect相交时发出,ios,xcode,uiimageview,cgrect,intersect,Ios,Xcode,Uiimageview,Cgrect,Intersect,在我的应用程序中,每当两个圆形图像彼此相交时,游戏结束,但我看到的问题是,两个图像在实际接触之前实际上是相交的。我试过多个例子来解决我的问题,但它们似乎都不起作用。这是我现在已经实现的代码 creature.layer.backgroundColor=[[UIColor clearColor] CGColor]; creature.layer.cornerRadius=25; creature.layer.masksToBounds = YES; ball1.layer.backgroundC

在我的应用程序中,每当两个圆形图像彼此相交时,游戏结束,但我看到的问题是,两个图像在实际接触之前实际上是相交的。我试过多个例子来解决我的问题,但它们似乎都不起作用。这是我现在已经实现的代码

creature.layer.backgroundColor=[[UIColor clearColor] CGColor];
creature.layer.cornerRadius=25;
creature.layer.masksToBounds = YES;

ball1.layer.backgroundColor=[[UIColor clearColor] CGColor];
ball1.layer.cornerRadius=20;
ball1.layer.masksToBounds = YES;

我能做些什么来避免图像的帧发生碰撞,而使其成为发生碰撞的图像的中心吗?

首先,UIKit没有包含正确的碰撞检测(或游戏开发)工具。你为什么不试试雪碧呢?现在,为了尝试回答您的问题,我能想到的使用UIKit的最佳方法是使用
CGRect
(每个角上有3个圆角可以实现这一点)。您还可以使用一个圆角路径上的3个或更多任意点进行此近似,并检查其中一个是否在另一个对象路径内(这意味着您将使用
CGPaths
来描述圆角矩形,而不是层的角半径。

您真的想知道圆心何时碰撞,还是圆的外部何时碰撞?两者都可以,因为最终对于我创建的对象,碰撞的基础是什么并不重要。