0

我有一个UIImageview包含一个圆圈(障碍),然后另一个UIImageview包含另一个图像(我的角色)。当我的圆圈击中我的角色时,游戏结束。

当游戏结束时,我的问题出现在角色触摸UIImageview我的圆圈所在的框,而不是框内的圆圈时UIImageview

我能想到的解决方案是:

  • 使UIImageview圆形适合我的圆圈。
  • 不知何故检测到我的字符像素和圆圈像素之间的碰撞,而不是UIImageviews.

帮助和想法将不胜感激。我是 xcode 的初学者。

谢谢!

4

1 回答 1

6

几种不同的技术:

1) UIView#layer.cornerRadius - 实现起来超级简单,只需设置一个属性。但对于像表格视图这样的滚动元素来说真的很糟糕。

2) UIImageView 作为掩码- 也很容易实现。基本上制作一个中间有一个透明圆圈的方形图像,然后用一个新的 UIImageView 将它拍在你的视图顶部。如果您的圆形设计有一些反射或样式,这可能会让您的生活更轻松。

3)自定义绘图- 创建一个 UIView 子类并覆盖 drawRect 以绘制您的图像并将其剪辑到圆形路径。

希望有帮助!

编辑:

您可以阅读此答案。

1)用 UIImage 填充 UIBezierPath

2) iOS:逆 UIBezierPath (bezierPathWithOvalInRect)

3)如何在 iPhone SDK 中将方形图像屏蔽为圆角图像?

于 2013-10-23T11:24:48.477 回答