// 创建共同旋转动画 RotateTransition rotateTransition1 = new RotateTransition(Duration.seconds(0), group1); RotateTransition rotateTransition2 = new RotateTransition(Duration.seconds(0), group2); if (brush.getSpeed() == 0) { rotateTransition1.setDuration(Duration.seconds(0)); rotateTransition2.setDuration(Duration.seconds(0)); } else { rotateTransition1.setDuration(Duration.seconds(6.0 / brush.getSpeed())); rotateTransition2.setDuration(Duration.seconds(6.0 / brush.getSpeed())); } rotateTransition1.setFromAngle(0); rotateTransition1.setToAngle(-100); rotateTransition1.setCycleCount(Animation.INDEFINITE); rotateTransition1.setAutoReverse(true); rotateTransition1.setInterpolator(Interpolator.LINEAR); rotateTransition2.setFromAngle(0); rotateTransition2.setToAngle(-100); rotateTransition2.setCycleCount(Animation.INDEFINITE); rotateTransition2.setAutoReverse(true); rotateTransition2.setInterpolator(Interpolator.LINEAR);如何让这段代码动一次,停止3秒,再动一次,再停止三秒,再动一次
时间: 2024-02-03 11:12:43 浏览: 5
您可以使用SequentialTransition来实现这个效果。您需要创建两个RotateTransition和两个PauseTransition,然后将它们按照您需要的顺序添加到SequentialTransition中,如下所示:
```
// 创建 RotateTransition 和 PauseTransition
RotateTransition rotateTransition1 = new RotateTransition(Duration.seconds(6.0 / brush.getSpeed()), group1);
RotateTransition rotateTransition2 = new RotateTransition(Duration.seconds(6.0 / brush.getSpeed()), group2);
PauseTransition pauseTransition1 = new PauseTransition(Duration.seconds(3));
PauseTransition pauseTransition2 = new PauseTransition(Duration.seconds(3));
// 设置 RotateTransition 的动画属性
rotateTransition1.setFromAngle(0);
rotateTransition1.setToAngle(-100);
rotateTransition1.setCycleCount(1);
rotateTransition1.setAutoReverse(false);
rotateTransition1.setInterpolator(Interpolator.LINEAR);
rotateTransition2.setFromAngle(0);
rotateTransition2.setToAngle(-100);
rotateTransition2.setCycleCount(1);
rotateTransition2.setAutoReverse(false);
rotateTransition2.setInterpolator(Interpolator.LINEAR);
// 创建 SequentialTransition 并添加动画
SequentialTransition sequentialTransition = new SequentialTransition();
sequentialTransition.getChildren().addAll(rotateTransition1, pauseTransition1, rotateTransition2, pauseTransition2, rotateTransition1, pauseTransition1, rotateTransition2);
// 播放动画
sequentialTransition.play();
```
在这个代码中,我们首先创建了两个RotateTransition和两个PauseTransition,然后按照顺序将它们添加到SequentialTransition中。每个RotateTransition只播放一次,而每个PauseTransition停止3秒。最后,我们播放SequentialTransition来实现动一次,停止三秒,再动一次,再停止三秒,再动一次的效果。