JavaFX 8 2d Scroller

时间:2015-05-24 23:51:11

标签: animation javafx path scroller translate-animation

嘿我正在尝试制作一个简单的2D滚动条,但我似乎无法让图片滚动。我正在使用ImagveView作为图片,我尝试过翻译和路径转换,但我无法获得任何好结果?这是我的代码:

public void aboutSceneAnimation() {

    Rectangle2D psb = Screen.getPrimary().getVisualBounds();

    Path path = new Path();
    MoveTo moveTo = new MoveTo();
    moveTo.setX(0.0);
    path.getElements().add(moveTo);
    PathTransition pt = new PathTransition();
    pt.setDuration(Duration.INDEFINITE);
    pt.setNode(map);
    pt.setPath(path);
    pt.setCycleCount(4);
    pt.setAutoReverse(true);

    pt.play();
}

public Scene aboutScene() {
    Rectangle2D psb = Screen.getPrimary().getVisualBounds();

    //Create the map

    BorderPane border = new BorderPane();
    border.getChildren().addAll(map2);

    //Size the map

    map2.setFitWidth(psb.getWidth());
    map2.setFitHeight(psb.getHeight());

    Scene scene = new Scene(border, 500, 500);
    aboutSceneAnimation();
    return scene;

}

它的工作方式是,当程序启动时,会在我的舞台上加载一个开始场景,然后我就会显示舞台。当按下一个按钮时,我只需更改为aboutScene,它也调用aboutSceneAnimation,这是我想要滚动地图的地方。任何想法将不胜感激!

-Cheers

1 个答案:

答案 0 :(得分:0)

您需要使用窗格而不是BorderPane,因为在BorderPane中,中心节点将调整大小以填充中间的可用空间。

在你的PathTransition中,你只能从哪里开始添加,i。即MoveTo,但你没有添加它应该去的地方,e。 G。一个LineTo

附加说明:

由于问题中的示例仅包含无法协同工作的部分,请参阅How to create a Minimal, Complete, and Verifiable example