链接多个转换

Chain multiple transitions

我对 JavaFX 有一点疑问。我目前正在为蚂蚁算法做一个用户界面。

我想在一个循环中链接多个 TranslateTransition。问题是只显示这些转换中的一个,而不是创建顺序中的所有 TranslateTransition

while(condition){
   //some updates...
   TranslateTransition tt = new TranslateTransition(Duration.millis(2000), myObject);
   tt.play();
}

有没有办法确保在播放新动画之前完成以前的动画? 谢谢!

使用 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);