如果可能的话,可以使用SceneBuilder旋转不在中心但在不同轴上的线。谢谢你的帮助。
我现在正在使用此代码,但枢轴位于中心位置:
@FXML
private Line lancettaQuadroCentrale;
@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println("You clicked me!");
RotateTransition rt = new RotateTransition(Duration.seconds(4),lancettaQuadroCentrale);
rt.setByAngle(0);
rt.setToAngle(220);
rt.setCycleCount(Timeline.INDEFINITE);
rt.setAutoReverse(true);
rt.play();
}
答案 0 :(得分:0)
设置RotateTransition
的轴:
rt.setAxis(new Point3D(10, 0, 0));
答案 1 :(得分:0)
您可以使用Timeline
为应用于angle
的{{3}} Line
属性制作动画:
@FXML
private void handleButtonAction() {
System.out.println("You clicked me!");
Rotate rotate = new Rotate(0, pivotX, pivotY);
lancettaQuadroCentrale.getTransforms().add(rotate);
Timeline timeline = new Timeline(new KeyFrame(Duration.ZERO, new KeyValue(rotate.angleProperty(), 0d)),
new KeyFrame(Duration.seconds(4), new KeyValue(rotate.angleProperty(), 220d)));
timeline.setCycleCount(Animation.INDEFINITE);
timeline.setAutoReverse(true);
timeline.play();
}