0
我正在研究叫做Wireworld的康威生命游戏的一个变体,我想要一个滑块控件,以便用户可以随意更改模拟的速度。我想我只是有一个简单的数学打嗝,但我正在做的是获得当前nano时间和上次更新之间的差异,然后除以1,000,000,000(转换为秒),并检查它是否大于或大于等于更新时间(0.016667)除以速度滑块值(0.05和1.0之间的值)。如何使用滑块动态更改JavaFX AnimationTimer的速度?
下面是代码,因为我有它...
new AnimationTimer() {
private long lastUpdate = 0;
public void handle(long currentNanoTime) {
if((double)((currentNanoTime - lastUpdate)/1000000000) >= (updateTime/speedSlider.getValue())) {
,然后在更新周期结束后,我改变LASTUPDATE到currentNanoTime的价值。
这种方法有什么问题吗?动画以0.5的默认速度移动非常缓慢,并且在将滑块移动到极端时没有明显差异。