Cocos2d iphone 碰撞击中2D格斗游戏的方块。工具?

Cocos2d iphone 碰撞击中2D格斗游戏的方块。工具?,cocos2d-iphone,collision-detection,Cocos2d Iphone,Collision Detection,我正在开发一款2D格斗游戏,其风格与Capcom为iPhone开发的Street Fighter Alpha相同。对于碰撞检测,我考虑在动画中为每个精灵帧创建几个命中框,并在主游戏循环中检查它们之间的碰撞。有没有工具可以在精灵上创建点击框并生成元数据(比如在.plist或.xml中) cocos2d iPhone社区开发的其他2D格斗游戏如何处理碰撞检测和有用元数据的生成 感谢您的回复。在格斗游戏中,碰撞检测实际上没有执行(或者不应该执行) 当玩家A进行“攻击”时,您需要确定玩家A与玩家B之间的

我正在开发一款2D格斗游戏,其风格与Capcom为iPhone开发的Street Fighter Alpha相同。对于碰撞检测,我考虑在动画中为每个精灵帧创建几个命中框,并在主游戏循环中检查它们之间的碰撞。有没有工具可以在精灵上创建点击框并生成元数据(比如在.plist或.xml中)

cocos2d iPhone社区开发的其他2D格斗游戏如何处理碰撞检测和有用元数据的生成


感谢您的回复。

在格斗游戏中,碰撞检测实际上没有执行(或者不应该执行)

当玩家A进行“攻击”时,您需要确定玩家A与玩家B之间的距离。玩家A的攻击是“静态的”:

然后,您将根据执行的攻击和与玩家B的距离,以及玩家B的当前状态来确定攻击“落地”是“阻挡”还是“错过”(对蜷缩敌人的高踢攻击是“错过”,而与不在阻挡中的蜷缩敌人的低踢连接是“击中”)


这是一系列的“规则”-如果两名玩家彼此之间的距离在一个特定的范围内,并且每个玩家的状态对于攻击都是正确的,那么攻击者“落地”,或者防御者“拦网”,或者攻击者“未命中”。

试着更具体地回答您的问题:我可以看出您主要对碰撞检测感兴趣,所以不要把有限状态机和人工智能混合在一起——分别问它们。当然,这就是我如何做到的——许多其他人试图在“碰撞检测”路线上失败,而在格斗游戏中,这是完全不必要的,而且计算碰撞也会浪费大量cpu资源,因为大多数碰撞系统都是更大的物理引擎(如Box2D、Chipmunk等)的一部分。设置这些“规则”听起来可能很费时,但与设置一些简单的规则相比,您将花费更多的时间来尝试找出“碰撞检测”。创建一个字符并定义该字符的规则,然后根据该字符创建其他字符
High Punch = 64px reach
Low Punch = 54px reach
Mid Punch = 45px reach
High Kick = 64px reach
etc, etc, etc