Я делаю нечто подобное в карточной игре, которую я написал, которая прокручивает карты в фоновом режиме. Вероятно, это не совсем то, как вы это делаете, но это должно дать вам представление о том, как этого добиться.
//The containing transition.
SequentialTransition slideshow = new SequentialTransition();
//Set up my array of cards
ImageView[] slides = new ImageView[fileList.length];
for(int i = 0; i < slides.length; i++){
//Populate my array and set up the translate transitions.
slides[i] = new ImageView(new Image(fileList[i].getPath().substring(19)));
slides[i].setTranslateX(slides[i].getImage().getWidth());
//One after the other
SequentialTransition seq = new SequentialTransition();
//From right side to middle
TranslateTransition peekIn = new TranslateTransition(Duration.millis(2000), slides[i]);
//Pause in the middle
PauseTransition stop = new PauseTransition(Duration.millis(2000));
//From middle to left side.
TranslateTransition peekOut = new TranslateTransition(Duration.millis(2000), slides[i]);
//This sets up where the peeks start and finish.
peekIn.setFromX(slides[i].getImage().getWidth());
peekIn.setToX(0);
peekOut.setFromX(0);
peekOut.setToX(-1*(slides[i].getImage().getWidth()));
//This is the order that these transitions occur.
seq.getChildren().addAll(peekIn, stop, peekOut);
slideshow.getChildren().add(seq);
}
//Previously created background container. (Happens to be a StackPane)
bgContainer.getChildren().addAll(slides);
//I want the Transition to play backwards as well.
slideshow.setAutoReverse(true);
//I want it to never stop
slideshow.setCycleCount(Animation.INDEFINITE);
//I start it.
slideshow.play();
Таким образом, используя различные типы переходов, я создаю эффект прокрутки карт на фоне экрана заголовка. Скорее всего, вы захотите использовать TranslateTransition
s вместе с SequentialTransition
s, чтобы получить эффект, который вы ищете. Переходы - очень интересные классы, и вы должны исследовать их, чтобы увидеть, являются ли они тем, чем вы хотите.