我正在尝试为我的游戏制作一个效果,当玩家使用它时,角色跑得更快,但我想让 sodaEffect 持续一定的时间,但我不知道该怎么做。我正在使用 Slick2D 和 LWJGL 来制作游戏。
public class MainMap extends BasicGameState {
if(input.isKeyPressed(Input.KEY_I)) {
sbg.enterState(5);
}
if(InventoryClass.sodaEffect == true) {
InventoryClass.characterSpeed = 1f;
}
else{
InventoryClass.characterSpeed = .1f;
}}
public class InventoryClass {
public static boolean sodaEffect = false;
}
最佳答案
在不确切知道你的 InventoryClass 做什么的情况下,我会做这样的事情:
public class InventoryClass {
private final static long SODA_DURATION = 5000L;
private static long sodaStartTime;
public static void startSodaEffect() {
sodaStartTime = System.currentTimeMillis();
}
public static boolean hasSodaEffect() {
return (System.currentTimeMillis() - sodaStartTime) < SODA_DURATION;
}
}
通过这种方法,您不需要额外的库。
关于java - 如何使 boolean 值持续一段时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37222872/