【问题标题】:cocos2D collision on edge shape only仅边缘形状上的 cocos2D 碰撞
【发布时间】:2011-11-29 15:12:16
【问题描述】:

我正在使用 cocos2D 开发 iOS 游戏。 我的游戏很简单,有关卡和旋转精灵。 精灵需要从关卡的开始到结束而不会失去生命。

所以我有两种可能:

1°) 已经很好用了

  • 具有 2D 像素样式图块集的基于图块图的关卡
  • 英雄精灵边界框边缘的自定义碰撞检测,以及 tilemap 碰撞。

2°) 会有更好的图形和更好的用户体验(没有物理,只有碰撞):

  • 基于矢量图形/SVG 的地图
  • 使用英雄精灵形状的边缘和地图进行碰撞检测

但是,我阅读了 cocos2D/Box2D 文档,并没有在精灵形状的边缘发现碰撞检测。这就像一个像素完美的碰撞(已经找到算法)。

我只想知道我的英雄形状的 4 个边缘中的一个是否与关卡的边界发生碰撞,如果是,哪个形状正在发生碰撞(因为我的精灵正在旋转)。

有人有想法吗?

非常感谢您的宝贵时间。

【问题讨论】:

    标签: cocos2d-iphone collision-detection


    【解决方案1】:

    应该通过固定装置将一个多边形形状附加到英雄的身体上。 要检测碰撞点,请使用动态(英雄)和静态(墙壁)主体之间的接触。

    【讨论】:

      【解决方案2】:

      只需将你的英雄的形状分成两半,找出英雄形状的像素宽度(半径),如果你的英雄和另一个精灵之间的距离等于或小于这个半径,则检测碰撞。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-23
        • 2011-06-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多