嘿我正在尝试制作一个简单的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
答案 0 :(得分:0)
您需要使用窗格而不是BorderPane,因为在BorderPane中,中心节点将调整大小以填充中间的可用空间。
在你的PathTransition中,你只能从哪里开始添加,i。即MoveTo,但你没有添加它应该去的地方,e。 G。一个LineTo。
附加说明:
由于问题中的示例仅包含无法协同工作的部分,请参阅How to create a Minimal, Complete, and Verifiable example。