为UIImageView创建边界框

时间:2011-03-13 21:14:29

标签: iphone collision-detection

如何为不是CGRect的UIImageView创建边界框?

我想在我的视图中有对象应该显示图像以及检测碰撞。

问题是我希望这些对象可以是它们的任何形状,而不是将它们装入CGRect并检测盒子内部区域的碰撞,但是它们是实际图像。

如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

这是一个非常重要的问题。但基础知识是CGRect是一个矩形,矩形内部的命中测试相当容易理解。但是,听起来你想要一个更复杂的形状。 UIImageView显示图像。它不知道您想要用于碰撞测试的形状。所以你必须告诉它。

一件容易的事就是查看显示图像的alpha /透明值以创建形状。所以回答这个问题的是一个点击图像我们找出图像中点的位置,如果alpha大于0则返回true。如果你这样做,你可以创建任何具有透明背景的图像,代码将只是工作

如果这对您不起作用,那么也可以对点和多边形运行命中测试,这篇文章详细介绍了这一点。

How can I determine whether a 2D Point is within a Polygon?