Cocos2d iphone Box2D和platformer的类声波物理

Cocos2d iphone Box2D和platformer的类声波物理,cocos2d-iphone,physics,box2d,Cocos2d Iphone,Physics,Box2d,我正在为iPhone开发一个使用Box2D和cocos2D的平台 我正试图找出一种方法,为我的受控角色创造类似的行为,就像《刺猬之声》游戏中所发现的那样,但要保持对Box2D物理库的使用,因为我希望投射物和某些关卡对象的行为符合现实物理,以及某些涉及受控角色跳跃的情况,冲入物体等 我遇到的主要问题是,在通过凸面曲线时,将角色保持在地面上,并保持与地面的接触感,直到与地面保持显著距离。我只希望角色在地面上对左右命令做出反应,但我的形状在经过轻微曲线时倾向于离开地面,因此反应时间会短暂延迟,直到重新

我正在为iPhone开发一个使用Box2D和cocos2D的平台

我正试图找出一种方法,为我的受控角色创造类似的行为,就像《刺猬之声》游戏中所发现的那样,但要保持对Box2D物理库的使用,因为我希望投射物和某些关卡对象的行为符合现实物理,以及某些涉及受控角色跳跃的情况,冲入物体等

我遇到的主要问题是,在通过凸面曲线时,将角色保持在地面上,并保持与地面的接触感,直到与地面保持显著距离。我只希望角色在地面上对左右命令做出反应,但我的形状在经过轻微曲线时倾向于离开地面,因此反应时间会短暂延迟,直到重新建立与我们的联系。从视觉上看,没有分离,但它足够大,可以改变在地面上的状态。而且,角色没有像我所希望的那样拥抱更大的曲线


我曾尝试在地面上施加额外的向下力,但对于更大的曲线来说,它的作用速度不够快,并且足够大的力会有效地干扰角色的正常运动。对这些问题有什么想法吗?

根据我的经验,要想在游戏中获得真正的控制台般的感觉,需要你创造不切实际的物理效果,尤其是对于玩家角色

我相信在box2d中,你可以使用脉冲攻击移动系统,同时仍然可以进行碰撞检测。要么就是这样,要么让你的角色成为一个不移动的物体,然后自己做这个动作。我忘了什么似乎对我有用。已经几个月了;我相信在某些情况下,我还对y轴上的向量进行了一些无效化处理,以修复错误

如果您的移动在一般情况下正常工作,则可以将与曲线地面接触时的移动作为特殊情况,在这种情况下,您可以自己处理物理问题,并且只在真实世界中进行碰撞检测


另一种选择是使大多数对象使用伪物理,并且仅将box2d用于碰撞检测或真实对象。

现在,当玩家与地面接触时,我正在手动设置速度向量。当球员离开球场时,我让box2d接手。真正的问题是告诉玩家什么时候真正离开地面跳跃或从悬崖上摔下来,而不是因为速度使玩家离开曲线而离开地面的微小时刻,并确保玩家沿着曲线前后移动。@rpeck1682:我发现手动控制速度似乎没有什么好处在某些情况下我想要的效果。冲动可能也有同样的问题。坡度是我遇到的问题,因为我希望它们的行为与正常地面完全相同,类似于您案例中的曲线。我得出的结论是,我要么自己在地面上处理所有的物理问题,要么至少处理所有的非平地物理问题。不仅仅是脉冲,而是完全处理角色的所有更新,并且仅使用box2d进行命中/扫描测试。在尝试之前我放弃了,不过…好吧,今天我改变了很多。我开始使用力,而不是设置速度向量。当角色在地面上时,我禁用重力。我只在x轴上施加力,除了我施加的拥抱地面的法向力。我对它进行了调整,以便在尝试反转方向时加速度更高,因此转弯速度更快。我改变了我的控制代码,这样你仍然可以快速改变方向,除非你明确地跳起来。我还添加了一个滚动状态,使角色受到现实物理的影响。到目前为止似乎工作得很好。@rpeck1682:如果你这样做@Merlyn:在你回复之前,我会收到一条消息说你回复了我:@rpeck1682:很高兴知道你成功了!如果你最终把它放到网上,我希望看到它工作,不管有没有来源。