为什么不起作用?你有什么想法吗?我需要解决这个问题,我需要实际位置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();
答案 0 :(得分:0)
{j}在其javadoc中也说明了PathTransition
更改了附加节点的translateX
和translateY
属性,而不是X和Y属性。此外,您正在垂直绘制路径,因此预期要更改的值为translateY,因此您需要绑定到此值,如下所示:
xValue.bind(iv2.translateYProperty());