我是JavaFX的新手并且遇到此代码的问题
pongAnimation = new Timeline(
new KeyFrame(new Duration(1.0), t -> {
checkForCollision();
})
);
pongAnimation.setCycleCount(Timeline.INDEFINITE);
为什么使用Eventhandler
t -> { checkForCollision(); }
在Animantion结束后开始?
我们没有代码
pongAnimation.setOnFinished( t -> {
checkForCollision();)
在我的工作簿中,它说
当KeyFrame有一个动作事件处理程序时,代码就在那里 处理程序 - 在这种情况下再次是一个lambda表达式 - 是 在达到该KeyFrame的时间时执行。
我的问题是当KeyFrame有一个动作事件处理程序时,为什么它会再次启动该事件?
答案 0 :(得分:0)
为什么在Animantion结束后Eventhandler会启动?
因为您通过
将动画设置为无限期重复pongAnimation.setCycleCount(Timeline.INDEFINITE);
如果你想只播放一次
pongAnimation.setCycleCount(1);