在JavaFX中,動畫效果可以通過使用AnimationTimer或Timeline類來實現。以下是一個簡單的示例,展示如何在JavaFX中創建一個簡單的動畫效果:
import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class AnimationExample extends Application {
@Override
public void start(Stage primaryStage) {
Group root = new Group();
Scene scene = new Scene(root, 600, 400, Color.BLACK);
Circle circle = new Circle(50, Color.BLUE);
circle.setTranslateX(300);
circle.setTranslateY(200);
root.getChildren().add(circle);
primaryStage.setTitle("Animation Example");
primaryStage.setScene(scene);
primaryStage.show();
AnimationTimer timer = new AnimationTimer() {
@Override
public void handle(long now) {
circle.setTranslateX(circle.getTranslateX() + 1);
if (circle.getTranslateX() >= 550) {
circle.setTranslateX(50);
}
}
};
timer.start();
}
public static void main(String[] args) {
launch(args);
}
}
在這個示例中,我們創建了一個圓形對象,并使用AnimationTimer類來實現一個簡單的動畫效果,使圓形對象沿著x軸方向移動。在handle()方法中,我們更新圓形對象的位置,并在達到屏幕右側邊緣時將其移到屏幕左側邊緣,以實現無限循環移動的效果。
通過類似的方法,您可以使用JavaFX中的AnimationTimer或Timeline類來創建各種復雜的動畫效果,包括縮放、旋轉、淡入淡出等效果。您可以根據自己的需求對動畫進行定制和調整。