javafx 如何围绕另一个节点旋转一组节点

费利佩·博纳迪科夫

我有一组节点,我需要围绕不在该组中的节点旋转该组。我是如何做到这一点的?

我尝试了不同的选项来添加窗格并使用 PathTransition 但我的尝试都没有奏效

var objects = new Group();
objects.getChildren().addAll(element1, element2, andSoOn);

var Earth = new Sphere(10);
//i need the group to rotate (orbit) around this node
var movement = new PathTransition(new Duration(360_00), new Circle(150), Earth);
movement.play();//Earth is rotating around the center of the project. this part works fine

当我将组(对象)设置为 PathTransition 的节点时,它编译了,但抛出了 RuntimeException

编码器

围绕静止太阳的旋转可以实现如下:

import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Sphere;
import javafx.scene.transform.Rotate;
import javafx.stage.Stage;
import javafx.util.Duration;

public class Orbit extends Application {

    private static final double WIDTH = 500, HEIGHT = 400, EARTH_RADIUS = 150;
    private Rotate earthRotate;
    private Circle earth;

    @Override
    public void start(Stage stage) {

        stage.setTitle("Rotation transformation example");

        var sun = new Sphere(20);
        sun.setTranslateX(WIDTH/2);   sun.setTranslateY(HEIGHT/2);

        earth = new Circle(10);
        earth.translateXProperty().bind(sun.translateXProperty());
        earth.translateYProperty().bind(sun.translateYProperty().subtract(EARTH_RADIUS));
        earthRotate = new Rotate(0, 0, EARTH_RADIUS);
        earth.getTransforms().add(earthRotate);

        Pane root = new Pane(sun, earth);
        Scene scene = new Scene(root, WIDTH, HEIGHT);
        stage.setScene(scene);
        stage.show();
        animate();
    }

    private void animate() {

        Timeline earthTimeline = new Timeline(
                new KeyFrame(Duration.ZERO, new KeyValue(earthRotate.angleProperty(), 0)),
                new KeyFrame(Duration.seconds(5), new KeyValue(earthRotate.angleProperty(), 360))
         );
        earthTimeline.setCycleCount(Timeline.INDEFINITE);
        earthTimeline.play();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

javafx-如何将节点转换为另一个对象

来自分类Dev

JavaFX在另一个节点(XML)之前或之后添加节点(Programm)

来自分类Dev

根据 JavaFX 中的另一个节点子节点数量禁用按钮

来自分类Dev

JavaFX-通知何时用户将鼠标从一个节点拖到另一个节点?

来自分类Dev

如何在javafx中的另一个场景

来自分类Dev

如何从另一个类调用JavaFX类?

来自分类Dev

如何在javafx中的另一个场景

来自分类Dev

在JavaFX中将形状路径转换设置为另一个形状旋转

来自分类Dev

如何围绕JavaFX中的一个点旋转三角形并获取点的值?

来自分类Dev

旋转节点以查看另一个节点

来自分类Dev

如何从另一个 JavaFX 窗口访问 JavaFX 窗口的控件?

来自分类Dev

JavaFX 从另一个线程更新 AnchorPane

来自分类Dev

如何在JavaFX 2中打开另一个窗口?

来自分类Dev

我如何使用JavaFX中另一个控制器的组件(panel,anchorpane)

来自分类Dev

JavaFX-MVC-如何从另一个包加载图像

来自分类Dev

JavaFX:如何从另一个控制器关闭舞台

来自分类Dev

如何从javafx中的另一个窗口获取要显示的图像?

来自分类Dev

如何在javafx中进入另一个场景?

来自分类Dev

如何在javafx中始终将窗口设置在另一个特定窗口的顶部

来自分类Dev

我如何处理位于 JavaFX 中另一个按钮中的按钮单击?

来自分类Dev

如何在JavaFX中将容器从一个窗口转移到另一个窗口

来自分类Dev

如何创建一个使用来自另一个 ComboBox 的值的 ComboBox?JavaFX

来自分类Dev

围绕另一个旋转圆旋转圆圈

来自分类Dev

如何在javafx中的一组中设置2个对象

来自分类Dev

Javafx使用按钮在另一个窗口中打开另一个fxml

来自分类Dev

如何在JavaFX中组合一个FXML文件和一个组?

来自分类Dev

在线程中更改一个Observable Collection(绑定到JavaFX节点)

来自分类Dev

如何将svg节点从一个组移动到另一个组?

来自分类Dev

围绕另一个任意点旋转点

Related 相关文章

  1. 1

    javafx-如何将节点转换为另一个对象

  2. 2

    JavaFX在另一个节点(XML)之前或之后添加节点(Programm)

  3. 3

    根据 JavaFX 中的另一个节点子节点数量禁用按钮

  4. 4

    JavaFX-通知何时用户将鼠标从一个节点拖到另一个节点?

  5. 5

    如何在javafx中的另一个场景

  6. 6

    如何从另一个类调用JavaFX类?

  7. 7

    如何在javafx中的另一个场景

  8. 8

    在JavaFX中将形状路径转换设置为另一个形状旋转

  9. 9

    如何围绕JavaFX中的一个点旋转三角形并获取点的值?

  10. 10

    旋转节点以查看另一个节点

  11. 11

    如何从另一个 JavaFX 窗口访问 JavaFX 窗口的控件?

  12. 12

    JavaFX 从另一个线程更新 AnchorPane

  13. 13

    如何在JavaFX 2中打开另一个窗口?

  14. 14

    我如何使用JavaFX中另一个控制器的组件(panel,anchorpane)

  15. 15

    JavaFX-MVC-如何从另一个包加载图像

  16. 16

    JavaFX:如何从另一个控制器关闭舞台

  17. 17

    如何从javafx中的另一个窗口获取要显示的图像?

  18. 18

    如何在javafx中进入另一个场景?

  19. 19

    如何在javafx中始终将窗口设置在另一个特定窗口的顶部

  20. 20

    我如何处理位于 JavaFX 中另一个按钮中的按钮单击?

  21. 21

    如何在JavaFX中将容器从一个窗口转移到另一个窗口

  22. 22

    如何创建一个使用来自另一个 ComboBox 的值的 ComboBox?JavaFX

  23. 23

    围绕另一个旋转圆旋转圆圈

  24. 24

    如何在javafx中的一组中设置2个对象

  25. 25

    Javafx使用按钮在另一个窗口中打开另一个fxml

  26. 26

    如何在JavaFX中组合一个FXML文件和一个组?

  27. 27

    在线程中更改一个Observable Collection(绑定到JavaFX节点)

  28. 28

    如何将svg节点从一个组移动到另一个组?

  29. 29

    围绕另一个任意点旋转点

热门标签

归档