我正在用 JavaFX 制作游戏,并实现了一个用于控制游戏速度的滑块。我有一个简单的滑块(javafx.scene.control.Slider),我将游戏循环的时间属性绑定到我从滑块获得的值。
滑块仅在提高游戏速度时才真正起作用。如果我减少它,gameUpdate() 将停止一段时间 - 取决于我死亡的程度。如果我在等待游戏赶上时增加滑块,游戏将再次继续。有时无论我等多久,游戏似乎都赶不上。
一般来说,更改关键帧时间是一个坏主意,还是我忘记了其他事情?我一直在尝试更改 canSkip 变量,这似乎让游戏在重新开始时运行更顺畅,但对我帮助不大。
def gameLoop:Timeline = Timeline{
repeatCount: Timeline.INDEFINITE
keyFrames: [
KeyFrame{
time: bind Duration.valueOf(Config.REFRESH_RATE_NUMBER - gameSpeed)
action: function(){
gameUpdate();
}
}
]//keyFrames[]
}// Timeline{}