【发布时间】:2016-10-25 02:46:23
【问题描述】:
我有一个 Java 应用程序,当我单击一个按钮时,ImageView 会在屏幕上移动一定量。我怎样才能使它每次单击按钮时都会运行动画?我知道如何制作一个点击按钮并让它运行一个功能。我只是不知道如何正确使用动画来动态运行新动画。
public Timeline moveAnimation(double x, double y) {
// horizontal movement
KeyValue kv = new KeyValue(turtle.xProperty(), x);
KeyFrame kf = new KeyFrame(Duration.millis(500), kv);
timeline.getKeyFrames().add(kf);
// vertical movement
KeyValue kv2 = new KeyValue(turtle.yProperty(), y);
KeyFrame kf2 = new KeyFrame(Duration.millis(500), kv2);
timeline.getKeyFrames().add(kf2);
return timeline;
}
public void move(double x, double y) {
moveAnimation(x, y).play();
}
上述方法将播放一次。当我尝试使用新值再次运行 move() 方法时,没有任何反应。
【问题讨论】:
-
获取 Timeline 对象并再次运行timeline.play() - 这样做能解决问题吗?
-
是的。有用!!!哇,我完全错过了一些东西,因为我以前尝试过,但我可能有一些错误。现在我再次尝试了它。谢谢。
-
我用实际代码 sn-p 等发布了一个完整的答案。如果我有帮助,如果你能接受我的回答,我会很高兴