0
버튼을 클릭하면 ImageView가 화면 전체에서 일정량 움직이는 Java 응용 프로그램이 있습니다. 버튼을 클릭 할 때마다 애니메이션이 실행되도록 어떻게 만들 수 있습니까? 클릭 버튼을 만들고 기능을 실행하는 방법을 알고 있습니다. 애니메이션을 올바르게 사용하여 새로운 애니메이션을 동적으로 실행하는 방법을 모르겠습니다.동적으로 JavaFX 애니메이션을 재생하는 방법
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()를 다시 실행하십시오. – MordechayS
예. 그것은 작동합니다! 와우 나는 이전에 그걸 시도했기 때문에 완전히 빠졌지 만, 아마도 그 안에 약간의 버그가 있었을 것입니다. 이제 다시 시도해 보았습니다. 고맙습니다. –
실제 코드 스 니펫 등으로 전체 답변을 올렸습니다. 도움이된다면 제 대답을 수락 할 수 있으면 좋겠어요. – MordechayS