我在Java中制作了我的第一个游戏-贪吃蛇,它的主循环如下。
while (true)
{
long start = System.nanoTime();
model.eUpdate();
if (model.hasElapsedCycle())
{
model.updateGame();
}
view.refresh();
long delta = (System.nanoTime() - start) / 1000000L;
if (delta < model.getFrameTime())
{
try
{
Thread.sleep(model.getFrameTime() - delta);
} catch (Exception e)
{
e.printStackTrace();
}
}
}
但是在我的项目需求中有一个响应性问题,所以我需要将Thread.sleep()
改成其他东西,但我不知道如何以简单的方式做到这一点。
提前感谢任何建议。
wait
方法。你应该在回答中包含这一点。sleep
不需要获取锁,但是wait
需要。 - nits.kksleep
实现你的解决方案,即通过睡眠来进行轮询。 - nits.kk