Cocos2d iphone cocos2D仅在边形状上碰撞

Cocos2d iphone cocos2D仅在边形状上碰撞,cocos2d-iphone,collision-detection,Cocos2d Iphone,Collision Detection,我正在用cocos2D开发一款iOS游戏。 我的游戏很简单,有关卡,还有旋转的精灵。 精灵需要在不失去生命的情况下,从关卡的开始到关卡的结束 因此,我有两种可能: 1°)已正常工作 基于Tilemap的具有二维像素样式的级别TileSet 英雄精灵边界框边缘的自定义碰撞检测和tilemap碰撞 2°)将是更好的图形和更好的用户体验(没有物理,只有碰撞): 基于矢量图形/SVG的地图库 使用英雄精灵形状的边缘和地图进行碰撞检测 但是,我阅读了cocos2D/Box2D文档,并没有在精灵形状

我正在用cocos2D开发一款iOS游戏。 我的游戏很简单,有关卡,还有旋转的精灵。 精灵需要在不失去生命的情况下,从关卡的开始到关卡的结束

因此,我有两种可能:

1°)已正常工作

  • 基于Tilemap的具有二维像素样式的级别TileSet
  • 英雄精灵边界框边缘的自定义碰撞检测和tilemap碰撞
2°)将是更好的图形和更好的用户体验(没有物理,只有碰撞):

  • 基于矢量图形/SVG的地图库
  • 使用英雄精灵形状的边缘和地图进行碰撞检测
但是,我阅读了cocos2D/Box2D文档,并没有在精灵形状的边缘发现碰撞检测。这就像一个像素完美的碰撞(已经找到了algo)

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

有人有主意吗


非常感谢您的时间。

一个多边形形状应该通过夹具连接到英雄的身体上。
要检测碰撞点,请使用动态(英雄)和静态(墙)身体之间的接触。

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