gpt4 book ai didi

java - 添加到 Int 值之间的延迟

转载 作者:行者123 更新时间:2023-12-01 13:21:20 26 4
gpt4 key购买 nike

当您在我的 Java 游戏中与 NPC 人员交谈时,NPC 的消息字符串数组会出现在屏幕上。按 ENTER 会将 currentMessage 整数加一,前进到下一条消息。但是,如果我有这样的事情:

if(KeyInput.currentKey(KeyInput.ENTER)) {
currentMessage++;
}

然后它会快速连续地检查所有消息,因为它每秒会检查 30 次。在执行此操作之间添加延迟的最佳和最有效的方法是什么?

我已经这样做了:

long timer = System.nanoTime();


long elapsed = (System.nanoTime() - timer) / 1000000
if(KeyInput.currentKey(KeyInput.ENTER) {
if(elapsed > 500) {
currentMessage++;
timer = System.nanoTime();
}
}

但我不喜欢这样,因为它变得困惑,而且我认为它效率不高。

有什么建议吗?

最佳答案

仅当当前按下 Enter 键但在最后一帧中未按下 Enter 时才增加。引入临时变量。

请注意,这不会自动重复。

boolean lastEnter = false;

....

boolean enter = KeyInput.currentKey(KeyInput.ENTER);
if(enter && !lastEnter) {
currentMessage++;
}
lastEnter = enter;

关于java - 添加到 Int 值之间的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22010948/

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