我正在开发一款与Capcom用于iPhone的街头霸王Alpha相同风格的2D格斗游戏。对于碰撞检测,我正在考虑在动画中为每个精灵帧创建几个命中框,并在主游戏循环中检查它们之间的碰撞。是否有任何工具可用于在精灵上创建命中框并生成此元数据(例如.plist或.xml)?
cocos2d iPhone社区开发的其他2D格斗游戏如何处理碰撞检测和生成有用的元数据?
感谢即将发布的回复。
答案 0 :(得分:2)
在格斗游戏中,实际上没有执行碰撞检测(或者不应该执行碰撞检测)。
当玩家A执行“攻击”时,您要做的是确定玩家A与玩家B的距离。玩家A的攻击是“静态的”:
High Punch = 64px reach
Low Punch = 54px reach
Mid Punch = 45px reach
High Kick = 64px reach
etc, etc, etc
然后你将根据所进行的攻击以及与玩家B的距离以及玩家B的当前状态来判断 - 攻击是“落地”,是“被阻挡”还是“错过”(对蹲伏敌人的高攻击)是“小姐”,而低蹲与蹲伏的敌人不在阻拦是一个“打击”)。
这是一系列“规则” - 如果两个玩家在彼此的特定距离内,并且每个玩家的状态对于攻击是正确的,则攻击者“登陆”,或者防御者“阻挡”或攻击者“错过了”。