我正在 Libgdx 框架中制作平台游戏。我想实现为我的角色跳跃的能力。我使用简单的公式:
speed += acceleration * delta_time
r += speed * delta_time
它运作良好,但仅适用于每秒恒定帧数。FPS 越低,我的角色跳跃越低。我不知道这种行为的原因是什么,跳跃的高度应该是一样的:/我的代码有一个片段:
delta_time=Gdx.graphics.getDeltaTime();
if(input.getUpArrow()){
if(is_in_air==false){
is_in_air=true;
speed_y=speed_y_0;
}
}
if(is_in_air==true){
speed_y-=acceleration*delta_time;
}
else{
speed_y=0;
}
x+=speed_x*delta_time;
y+=speed_y*delta_time;
这是一个插图(黑点是字符位置):http: //i.imgur.com/tfSTM.jpg