gpt4 book ai didi

java - 当达到 JavaFX 中 PathTransition 的一半时触发事件

转载 作者:行者123 更新时间:2023-12-01 19:44:50 27 4
gpt4 key购买 nike

我有一个 PathTransition 来移动由 2 条路径组成的 ImageView。

我想在动画达到其持续时间一半时添加一个 Action 。

我看到通过 getCuePoints 方法,我们可以在某些时间添加标记,但我不知道如何在操作中链接此标记:/

你有想法这样做吗?

谢谢! :)

最佳答案

使用ParallelTransition 运行PauseTransition,其持续时间为PathTransition 的一半。这允许您使用 onFinished 处理程序来触发事件:

public void start(Stage primaryStage) {
Path path = new Path(new MoveTo(), new CubicCurveTo(100, 100, 150, 50, 200, 100));
Rectangle rect = new Rectangle(10, 10);
Rectangle back = new Rectangle(100, 50, Color.RED);
back.setVisible(false);

// original transition
PathTransition transition = new PathTransition(Duration.seconds(5), path, rect);

// transition for triggering halftime event
PauseTransition pause = new PauseTransition(transition.getCycleDuration().multiply(0.5));
pause.setOnFinished(evt -> back.setVisible(true));

// combine & play transitions
ParallelTransition animation = new ParallelTransition(rect, transition, pause);
animation.play();

Scene scene = new Scene(new Pane(back, rect), 300, 300);
primaryStage.setScene(scene);
primaryStage.show();
}

关于java - 当达到 JavaFX 中 PathTransition 的一半时触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53797238/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com