gpt4 book ai didi

java - 添加没有 Thread.sleep 的延迟和 while 循环什么都不做

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:59:01 25 4
gpt4 key购买 nike

我需要在不使用 Thread.sleep() 或 while 循环的情况下添加延迟。即时编辑游戏 (Minecraft) 时钟以“滴答声”运行,但它们会根据您的 FPS 波动。

public void onTick() {//Called every "Tick"
if(variable){ //If my variable is true
boolean = true; //Setting my boolean to true
/**
*Doing a bunch of things.
**/
//I need a delay for about one second here.
boolean = false; //Setting my boolean to false;
}
}

我需要延迟的原因是,如果我没有延迟,代码运行得太快而错过它并且不会切换。

最佳答案

像下面这样的东西应该可以在不阻塞游戏线程的情况下为您提供所需的延迟:

private final long PERIOD = 1000L; // Adjust to suit timing
private long lastTime = System.currentTimeMillis() - PERIOD;

public void onTick() {//Called every "Tick"
long thisTime = System.currentTimeMillis();

if ((thisTime - lastTime) >= PERIOD) {
lastTime = thisTime;

if(variable) { //If my variable is true
boolean = true; //Setting my boolean to true
/**
*Doing a bunch of things.
**/
//I need a delay for about one second here.
boolean = false; //Setting my boolean to false;
}
}
}

关于java - 添加没有 Thread.sleep 的延迟和 while 循环什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20959805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com