我对JavaFX有一点问题。我目前正在为蚂蚁算法做一个用户界面。
我想在循环中链接多个TranslateTransition
。问题是,按创建顺序,只显示其中一个转换而不是全部TranslateTransition
。
while(condition){
//some updates...
TranslateTransition tt = new TranslateTransition(Duration.millis(2000), myObject);
tt.play();
}
有没有办法确保之前的动画在播放新动画之前完成? 谢谢!
答案 0 :(得分:0)
使用onFinished
处理程序启动下一次转换。定义方法:
private TranslateTransition createNextTransition(Node myObject) {
// some updates...
TranslateTransition tt = new TranslateTransition(Duration.millis(2000), myObject);
tt.setOnFinished(e -> {
if (condition) {
createNextTransition(myObject);
}
});
tt.play();
}
然后只调用一次:
createNextTransition(myObject);