在我的应用程序中,每当两个圆形图像彼此相交时,游戏就会结束,但我看到的问题是两个图像在实际相互接触之前实际上已经相交。我尝试了多个示例来尝试解决我的问题,但似乎都不起作用。这是我现在已经实现的代码...
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 不包含用于碰撞检测(或游戏开发)的正确工具。你为什么不试试SpriteKit呢?现在,尝试回答您的问题,我能想到的使用 UIKit 的最佳方法是使用 CGRect
来近似圆角(每个角 3 个应该可以解决问题)。您还可以使用一个圆角路径上的 3 个或更多任意点进行此近似,并检查它们中的任何一个是否在另一个对象路径内(这意味着您将使用 CGPaths
来描述圆角矩形而不是图层的角半径。
关于ios - 每当圆形图像与 Xcode 中的 CGRect 相交时发出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23706588/