Tag: 帧速率

Libgdx,物理,加速和FPS

我在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

使用Thread.sleep()限制Libgdx游戏中的FPS不起作用

我正在为libgdx开发一款针对android的小游戏,并希望将fps限制为30以节省电池。 问题是它不起作用。 fps从60下降到56。 以下是代码的一部分:(它位于渲染部分的末尾) System.out.print(“\nFPS: ” + Gdx.graphics.getFramesPerSecond() + “\n”); if(Gdx.graphics.getDeltaTime() < 1f/30f) { System.out.print("DeltaTime: " + Gdx.graphics.getDeltaTime() + " s\n"); float sleep = (1f/30f-Gdx.graphics.getDeltaTime())*1000; System.out.print("sleep: " + sleep + " ms\n"); try { Thread.sleep((long) sleep); } catch (InterruptedException e) { System.out.print("Error…"); e.printStackTrace(); } } 这是输出: FPS: 56 DeltaTime: 0.014401722 s sleep: 18.931612 ms FPS: […]