有没有办法在下一轮循环开始时获取信息?时间线的 onFinish 方法不适用于无限循环。
我唯一的想法是使用 currentTimeProperty 并检查值是否增加或减少。
感谢您的帮助豪克
将事件处理程序添加到最后一个KeyFrame(或修改现有的)以在Timeline动画重新启动时运行事件,例如更改
Timeline timeline = new Timeline(
new KeyFrame(Duration.ZERO, new KeyValue(node.translateXProperty(), 0)),
new KeyFrame(Duration.seconds(1), new KeyValue(node.translateXProperty(), 300))
);
timeline.setCycleCount(Animation.INDEFINITE);
timeline.play();
Run Code Online (Sandbox Code Playgroud)
到
Timeline timeline = new Timeline(
new KeyFrame(Duration.ZERO, new KeyValue(node.translateXProperty(), 0)),
new KeyFrame(Duration.seconds(1), evt -> System.out.println("finished"), new KeyValue(node.translateXProperty(), 300))
);
...
Run Code Online (Sandbox Code Playgroud)
"finished"在每个周期后打印。