使用libgdx进行游戏速度

Eko*_*Eko 2 libgdx

我正在使用libgdx制作游戏.现在,每个角色都有一个速度,实际上对应于游戏在更新角色之前等待的渲染次数.例如,如果角色的速度为15,则每15次渲染将更新一次.我意识到这不是必须要做的.

这样做的正确方法是什么?我真的想用%来制作速度,例如角色的速度为85%.

des*_*kun 9

使用delta.

Gdx.graphics.getDeltaTime()方法返回自上次渲染帧以来的secods.通常这个值非常小,等于1/FPS.

@Override
public void render() 
{
    // limit it with 1/60 sec
    float dt = Math.min(Gdx.graphics.getDeltaTime(), 1 / 60f); 
    // then move your characted according to dt
    player.pos = player.pos + player.speed * dt;
    // or, you could mute the speed like this:
    player.pos = player.pos + player.speed * dt * 0.85;
}
Run Code Online (Sandbox Code Playgroud)