Java LibGdx-Box2d-跳跃
我想创造一个像扑翼鸟一样的游戏。我想让玩家在屏幕上连续跳跃。我创建了这个代码,它不像一只扑翼鸟那样跳跃 代码: 问题是当用户快速点击屏幕时,玩家就像火箭一样被射中。同样,当运动员摔倒时,跳得更低。我怎样才能解决这个问题,并始终获得相同的跳跃强度 我的解决方案:Java LibGdx-Box2d-跳跃,java,android,libgdx,box2d,Java,Android,Libgdx,Box2d,我想创造一个像扑翼鸟一样的游戏。我想让玩家在屏幕上连续跳跃。我创建了这个代码,它不像一只扑翼鸟那样跳跃 代码: 问题是当用户快速点击屏幕时,玩家就像火箭一样被射中。同样,当运动员摔倒时,跳得更低。我怎样才能解决这个问题,并始终获得相同的跳跃强度 我的解决方案: jumpTimer += delta; if(Gdx.input.justTouched()) { if (jumpTimer > jumpTime) { body.se
jumpTimer += delta;
if(Gdx.input.justTouched()) {
if (jumpTimer > jumpTime) {
body.setLinearVelocity(body.getLinearVelocity().x, 0);
body.applyForceToCenter(0, jump * delta, true);
}
jumpTimer = 0;
}
可以使用几种方法来实现这种效果
- 就像Mohammad在评论中提到的那样,可以将y速度钳制为最大值
- 使播放器每
次只能轻触屏幕一次x
- 玩家上升的速度越快,敲击产生的上升力越小
- 完全不允许以一定的速度轻敲
- 结合这些,并调整它,直到你满意的结果
jumpTimer += delta;
if(Gdx.input.justTouched()) {
if (jumpTimer > jumpTime) {
body.setLinearVelocity(body.getLinearVelocity().x, 0);
body.applyForceToCenter(0, jump * delta, true);
}
jumpTimer = 0;
}