gpt4 book ai didi

java - 如何暂停 AnimationTimer 设定的秒数?

转载 作者:行者123 更新时间:2023-11-29 04:08:58 25 4
gpt4 key购买 nike

我目前正在开发一款使用 JavaFX 制作的游戏,我想知道如何将 AnimationTimer 暂停一定的秒数?我尝试使用 Thread.sleep,但它会导致整个窗口卡住。任何帮助将不胜感激,如果需要我可以提供代码。

最佳答案

您可以创建一个 PauseTransition,它会在经过一定时间后启动您的计时器。

void pauseTimerForDuration(AnimationTimer timer, Duration duration) {
PauseTransition pt = new PauseTransition(duration);
pt.setOnFinished(event -> timer.start());

timer.stop();
pt.play();
}

注意:这使用 javafx.util.Duration,而不是 java.time.Duration

如果您想要可以重用的东西,那么您可以尝试使用 Timeline

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

然后将 Timeline 存储在某处,并在您想暂停计时器时调用 playFromStart()

关于java - 如何暂停 AnimationTimer 设定的秒数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56334617/

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