我使用LibGDX和Box2D作为我的平台游戏。 我之前有一个原型工作,但我遇到斜坡问题,因为我只是向左侧或右侧施加一个力到玩家的中心。所以我想为什么不让Box2D做这项工作,因为我已经在使用它了。我试图实现这个:
http://www.badlogicgames.com/wordpress/?p=2017(此视频显示了相当不错的想法)
基本思想是让玩家不仅仅是一个盒子。而是使用圆形的脚。这种方式斜坡不应该是这样的痛苦。所以我创造了两具尸体。联合他们测试它,我发现了一些奇怪的东西。两个身体一起采取了更多的冲动让玩家身体跳跃,而不是一个宽度,高度相同的盒子。
盒子和玩家平等跳跃的例子:
if (GameKeys.isPressed(GameKeys.SPACE)) {
if (cl.isPlayerOnGround()) {
playerBody.applyLinearImpulse(new Vector2(0, 1800), playerBody.getWorldCenter(), true);playerBody.getWorldCenter(), true);
box.applyLinearImpulse(new Vector2(0, 10), playerBody.getWorldCenter(), true);
}
}
原因在于我对玩家身体采用了高度的设计,以防止关节弹跳并使其更加僵硬。 我的问题是:
是否有更好的方法来防止球员和球员身体之间的关节非常有弹性而不是仅仅设定它的密度非常高?
是否有任何常用的公式可以获得良好的密度,还是仅仅调整值才会感觉正确?
除了弄乱掉落常数(-9.81f)之外,有没有办法让物体掉得更快?玩家对象和盒子此刻感觉有点浮动。
我知道这些是多个问题,我希望我不要求太多,但感谢任何人甚至阅读所有这些混乱^^
每米像素数(PPM)为32!
我的Play.java: http://pastebin.com/HB9h6MV6
P.s。:我的英语不好。我不是母语为英语的人(德语)。 :)