为什么时间轴playFromStart仅在第一次工作?

时间:2019-05-30 02:26:41

标签: java javafx

因此,我在JavaFX中编写了一个使用AnimationTimer的程序。我需要随时可以暂停AnimationTimer,因此有人建议对我的其他Stackoverflow问题之一使用“时间轴”。但是,似乎您只能在给定的时间内暂停AnimationTimer一次。例如,以下代码应在四个相等的间隔内将AnimationTimer暂停总共1秒钟,但仅将其暂停一次:

public Timeline createPauseTimerTimeline(AnimationTimer timer, Duration duration) {
    return new Timeline(
            new KeyFrame(Duration.ZERO, event -> timer.stop()),
            new KeyFrame(duration, event -> timer.start())
    );
}

// Inside some other method:
Timeline delay = createPauseTimerTimeline(timer, new Duration(250));
/* blah blah */
delay.playFromStart();
/* blah blah */
delay.playFromStart();
/* blah blah */
delay.playFromStart();
/* blah blah */
delay.playFromStart();
/* blah blah */

如何修复代码,以便在需要时可以将AnimationTimer暂停一定的秒数?任何帮助将不胜感激。

0 个答案:

没有答案