0

我正在为使用 Box2D 和 cocos2D 的 iPhone 开发平台游戏。

我正在尝试找出一种方法来为我的受控角色创建与 Sonic the Hedgehog 游戏中类似的行为,但保持使用 Box2D 物理库,因为我希望射弹和一些关卡对象根据现实物理表现,以及涉及受控角色的某些情况(跳跃,撞到物体等)。

我遇到的主要问题是在越过凸曲线时将角色保持在地面上,并保持与地面的接触感,直到与地面保持相当大的距离。我只希望角色在地面上时对左右命令做出反应,但我的形状在经过轻微曲线时往往会离开地面,因此反应时间会短暂延迟,直到与我们重新建立联系。视觉上没有分离,但它足以改变在地面上的状态。此外,角色不会像我想要的那样“拥抱”更大的曲线。

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

4

1 回答 1

0

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

我相信在 box2d 中,您可以使用脉冲来破解运动系统,同时仍然可以访问碰撞检测。要么就是这样,要么让你的角色成为一个不动的物体,然后自己做运动。我忘记了哪个似乎对我有用。已经几个月了;)我相信在某些情况下我还对 y 轴上的向量进行了一些无效化以修复错误(斜率?)。

如果您的运动在一般情况下正常工作,那么您可以在与曲线接触的情况下进行运动,这是一种特殊情况,您自己处理物理,并且只在现实世界中闲逛以进行碰撞检测。

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

于 2010-08-04T00:08:35.293 回答