0

我正在尝试在 iphone 和 cocos2d 上创建一个平台游戏。我还没有决定使用 Box2D ......但取决于我如何解决这个问题,我可能不得不使用它。

我的问题是跳跃。当我的角色(精灵)沿着平坦的壁架奔跑时,我尝试在壁架的末端跳跃,有时,有效地,我在角色有效地“走”下壁架后立即按下跳跃。视觉上和身体上都感觉很奇怪,因为我几乎可以肯定每次我在最后一刻按下,但不,这是一个循环太晚了。

有没有人遇到过同样的问题,并且知道处理它的聪明方法?

4

2 回答 2

1

我认为,在您的情况下,您可以简单地考虑一些精度,让您在“离开”平台后稍微跳一下。

无论如何,box2d 是一个相当不错的物理引擎,它可以让您检测碰撞并模拟物体的行为(例如,它可以在碰撞后自动对物体应用旋转)。互联网上有很多手册,可以帮助您了解它的工作原理。

于 2012-10-09T16:10:26.577 回答
0

我猜你只使用角色的位置来确定他是否还在窗台上。如果是这样,当他的中心点越过窗台时,角色将“失去立足点”。没有平台游戏可以做到这一点。

相反,您应该测试字符的整个边界框宽度。只要边界框的左下角或右下角仍然在可行走的平面上,角色就不能从窗台上掉下来。您会在许多平台游戏中看到这一点,其中角色仍然站在壁架上,而只有一只脚仍然在壁架上。

你可能感兴趣的两件事:

指南实施 2D 平台游戏。几乎涵盖了您需要了解的所有内容。没有代码,但易于遵循算法的说明。

然后是Commander Cool,一个带有 cocos2d 和 box2d 的商业平台游戏套件。如果您有兴趣加快开发速度,而不是花时间重新发明轮子,也就是平台游戏框架代码。

于 2012-10-09T19:01:23.290 回答