Java how to make easy animations in canva

Java how to make easy animations in canva

To create easy animations in the JavaFX Canvas class, you can use the AnimationTimer class and the GraphicsContext class to update and draw the elements of the animation on the canvas at a fixed frame rate.

Here is an example of how you can create a simple animation in the Canvas class using an AnimationTimer:

r‮t refe‬o:lautturi.com
import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class AnimationExample extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        Canvas canvas = new Canvas(400, 400);
        GraphicsContext gc = canvas.getGraphicsContext2D();

        AnimationTimer timer = new AnimationTimer() {
            double x = 0;
            double y = 0;
            double dx = 2;
            double dy = 2;

            @Override
            public void handle(long now) {
                gc.clearRect(0, 0, canvas.getWidth(), canvas.getHeight());

                gc.fillOval(x, y, 50, 50);

                x += dx;
                y += dy;

                if (x > canvas.getWidth() || x < 0) {
                    dx *= -1;
                }
                if (y > canvas.getHeight() || y < 0) {
                    dy *= -1;
                }
            }
        };

        StackPane root = new StackPane(canvas);
        Scene scene = new Scene(root, 400, 400);

        primaryStage.setScene(scene);
        primaryStage.show();

        timer.start();
    }
}
Created Time:2017-11-03 23:27:10  Author:lautturi