JavaFx转换中的当前位置ImageView

时间:2014-05-06 10:43:45

标签: javafx imageview transition

为什么不起作用?你有什么想法吗?我需要解决这个问题,我需要实际位置x和我的精灵动画的位置y。

Image iv1 = new Image("Images/Asteroid.png", 60, 50, false, false);
ImageView iv2 = new ImageView(iv1);
iv2.setX(100);
iv2.setY(200);

Path p = new Path();
p.getElements().add(new MoveTo(100, 200));
p.getElements().add(new LineTo(100, 400));
PathTransition pt = new PathTransition(Duration.millis(4000), p);
pt.setNode(iv2);
root.getChildren().add(iv2);   
DoubleProperty xValue = new SimpleDoubleProperty();
xValue.bind(iv2.xProperty());
xValue.addListener(new ChangeListener() {

    @Override
    public void changed(ObservableValue ov, Object t, Object t1) {
        System.out.println("Current x : "+(double)t1);
    }
});
pt.play();
primaryStage.setScene(scene);
primaryStage.show();

1 个答案:

答案 0 :(得分:0)

{j}在其javadoc中也说明了PathTransition更改了附加节点的translateXtranslateY属性,而不是X和Y属性。此外,您正在垂直绘制路径,因此预期要更改的值为translateY,因此您需要绑定到此值,如下所示:

xValue.bind(iv2.translateYProperty());