【问题标题】:Cocos2d or Box2d?Cocos2d 还是 Box2d?
【发布时间】:2012-09-26 14:34:56
【问题描述】:

我正在开发一款游戏,我需要检测直线和多边形之间的碰撞。经过多次谷歌搜索,cocos2d 似乎不支持多边形碰撞?

我能够执行直线和矩形碰撞检测,但不能执行多边形。 我必须搬到 Box2d 吗?非常感谢任何建议。

【问题讨论】:

    标签: cocos2d-iphone box2d polygon collision


    【解决方案1】:

    Cocos2D 不提供任何类型的碰撞检测。你想要的是一个射线与多边形相交测试,你可以用 Box2D 或 Chipmunk 来做。两者都包含在 Cocos2D(适用于 iPhone)中。 Box2D 和 Chipmunk 允许实现游戏物理,如重力、风、碰撞检测等。

    如果您需要在普通的 Cocos2D 中进行“某种”检测,那么我建议使用 CGRectContainsCGRect 或 CGRectContainsCGPoint 或 CGRectIntersectsCGRrect 函数来做同样的事情。这可能会帮助您实现您想要的,但它不会像使用 Box2D 或 Chipmunk 游戏物理一样好。

    【讨论】:

    • 我想我别无选择,只能搬到 Box2d。谢谢你的建议。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 2011-09-20
      相关资源
      最近更新 更多