2012-03-21 57 views
0

我正在做一个游戏,我需要检测一条线和一个多边形之间的碰撞。经过大量的搜索,似乎cocos2d不支持多边形碰撞?Cocos2d或Box2d?

我可以执行直线和直角碰撞检测,但不能执行多边形。 我必须移动到Box2d吗?任何意见非常感谢。

回答

1

Cocos2D不提供任何形式的碰撞检测。你想要的是一个射线与多边形相交测试,这是你可以用Box2D或Chipmunk做的事情。两者都包含在Cocos2D(适用于iPhone)中。 Box2D的和花栗鼠允许执行游戏物理就像地心引力,风,碰撞检测等

如果你需要做一个检测平原的Cocos2D“的那种”,那么我建议使用CGRectContainsCGRect或CGRectContainsCGPoint或CGRectIntersectsCGRrect功能来照着做。这可能会帮助你实现你想要的,但它不会像使用Box2D或Chipmunk游戏物理一样好。

+0

我猜我没有选择,只能移动到Box2d。谢谢你的建议。 – vwee 2012-03-24 04:31:53

0

cocos2d只提供简单的碰撞检测,如CCRect::rectContainsPoint(在cocos2d-x)或rectIntersectsRect

如果你的多边形是一个矩形,那么你可以通过判断这个矩形所包含的线条是否有点来进行检测。