我有这样的层次结构:
场景
- gameWorld(CCLayer Z:0)
- 玩家(CCSprite Z:1)
- spriteWorld(CCNode Z:0)
- bgSprite(CCSprite Z:0)
- 敌人(CCSprite Z:0)
spriteWorld被旋转并且bgSprite被移动,因此与gameWorld坐标系相比,放置在bgSprite上的任何CCSprit都有一个旋转和移动的坐标系。
我需要检测放置在gameWorld和bgSprite上的CCSprit之间的冲突。现在我在这里看到了这篇文章:
Cocos2D CCNode position in absolute screen coordinates
它可以给我相对于屏幕的每个精灵位置,但是我如何计算或得到这些精灵的边界框?那些边界框通过spriteWorld旋转旋转,但每个精灵也在bgSprite上旋转。
对我来说听起来像很疯狂的数学,我对数学很傻,所以我真的需要帮助。
谢谢 Særen
答案 0 :(得分:1)
事实上,cocos2D没有直接支持碰撞检测,因此您需要自己完成所有计算。
无论如何,您可以使用chipmunk-physics或Box2D等框架为您执行此操作。基本的想法是你将一个体/形状与你的精灵相关联,然后设置一个碰撞回调,当发现碰撞时会触发它,而不用担心数学...