我正在使用Box2D和cocos2D的iPhone平台游戏机。Box2D和平台游戏机的声波状物理学
我试图找出一种方法来创建类似的行为,我的受控角色是在刺猬索尼克游戏中发现的,但仍然使用Box2D物理库,因为我想要投射物和某些级别的物体根据行为到逼真的物理学,以及涉及受控角色的特定情况(跳跃,滚入物体等)。
我遇到的主要问题是当角色穿过凸曲线并保持与地面的接触感,直到距离它达到相当大的距离时保持在地面上。我只想让角色在地面上对左右命令作出反应,但当我们走过一些微小曲线时,我的形状往往会离开地面,这样反应时间会暂时延迟,直到与我们重新建立联系。在视觉上没有分离,但它足以改变在地面上的状态。另外,角色并不以我想要的方式“拥抱”更大的曲线。
我试过在地面上施加一个额外的向下的力量,但它对于较大的曲线不够快,足够大的力量会有效干扰角色的正常运动。对这些问题有什么想法?
现在我正在用手设置速度矢量,当玩家与地面接触时。当玩家离开地面时,我让box2d接管。真正的问题在于告诉玩家何时离开地面(从悬崖跳下或从悬崖上跳下)与离开地面的微小时刻有关,因为速度使玩家离开曲线并确保玩家跟随曲线在附近。 – rpeck1682 2010-08-04 00:28:01
@ rpeck1682:我发现手动控制速度在某些情况下似乎没有我想要的效果。冲动可能有同样的问题。斜坡是我遇到的问题,因为我希望它们的行为与普通地面完全相同,与您案例中的曲线类似。我得出的结论是,我不得不在地面上自己处理所有的物理,或者至少所有的非平坦物理物理。不仅仅是冲动,而是完全处理角色上的所有更新,并且只使用box2d进行命中/扫描测试。在尝试这个之前我放弃了,尽管... – 2010-08-04 20:07:06
好的,今天我改变了很多东西。我开始使用力量而不是设置速度向量。角色在地上时我会使重力失效。我只对x轴施加力,除了我实施的地面拥抱正常力。我调整了它,以便在尝试颠倒方向时加速度更高,所以转身很快。我改变了我的控制代码,以便您仍然可以快速改变方向,除非您明确跳转。我还添加了一个滚动状态,让角色变成逼真的物理。似乎目前运作良好。 – rpeck1682 2010-08-05 04:15:14