2014-05-22 80 views
-1

EDIT** I have attached an image trying to illustrate what I am trying to achieve. As you can see all the white area is transparent as basically if my car crosses the the bounds of the road you die. Hopefully that makes a little more sense这是我的问题。我正在xcode上制作一款小型汽车游戏。我正在使用单独的20个PNG图像作为我的道路。每幅图像都是600 x 1200左右,但道路本身位于图像的中心,并且很窄并且蜿蜒。我不知道如何让车子发现它已经越过了路边。我真的希望这对某人有意义。透明图像上的相交检测

我没有任何代码可以分享,因为我完全停留在如何做到这一点上,而且在我来这里要求之前,我一直在到处搜寻。

我真的很感谢一些帮助。 谢谢

[编辑**我附上了一张图片,试图说明我想实现的目标。正如你所看到的,所有的白色区域都是透明的,基本上如果我的汽车穿越了死亡道路的边界。希望这样做更有意义

+0

对不起,但没有多一点(可能是一个插图?)你不会得到很多答案 - CGRectIntersectsRect可能会做你想做的,但它的声音比它更复杂那。 – brandonscript

+0

有很多事情要考虑。最简单的方法是使用现有的物理引擎。 – mbm

+0

考虑使用Sprite Kit。 – matt

回答

1

而不是为您的道路使用图像,尝试使用单个UIBezierPath,您可以从线条和弧线构造。然后,您可以使用containsPoint:来确定您的“汽车”的任何角落是否为该方法返回NO。

+0

是否有任何教程,我可以学习如何使用这种方法制作道路? – user2632573

+0

@ user2632573,我确定有,但我不知道你的具体目的有什么好处。如果你学习了使用贝塞尔路径的基础知识,我相信你不会觉得很难构建你想要的东西。 – rdelmar