From f03144cb006358f61f6c493e2ce66d9bc3243fb9 Mon Sep 17 00:00:00 2001
From: koz01 <koz01@PCFEIB207-060.msad.vsb.cz>
Date: Wed, 21 Sep 2022 08:23:52 +0200
Subject: [PATCH] solution

---
 src/main/java/lab/DrawingThread.java | 34 +++++++++++++++++++++++-----
 1 file changed, 28 insertions(+), 6 deletions(-)

diff --git a/src/main/java/lab/DrawingThread.java b/src/main/java/lab/DrawingThread.java
index 63badd7..e2a2194 100644
--- a/src/main/java/lab/DrawingThread.java
+++ b/src/main/java/lab/DrawingThread.java
@@ -3,12 +3,17 @@ package lab;
 import javafx.animation.AnimationTimer;
 import javafx.scene.canvas.Canvas;
 import javafx.scene.canvas.GraphicsContext;
+import javafx.scene.paint.Color;
 
 public class DrawingThread extends AnimationTimer {
 
 	private final Canvas canvas;
 	private final GraphicsContext gc;
-
+	private long previousTime;
+	private double x = 10;
+	private double y = 10;
+	private double speed = 20;
+	
 	public DrawingThread(Canvas canvas) {
 		this.canvas = canvas;
 		this.gc = canvas.getGraphicsContext2D();
@@ -20,11 +25,28 @@ public class DrawingThread extends AnimationTimer {
 	 */
 	@Override
 	public void handle(long now) {
-		// put your code here
-		//gc.setFill(Color.AQUA);
-		//gc.setStroke(Color.BLACK);
-		//gc.fillOval(10, 10, 20, 20);
-
+		if (previousTime > 0) {
+			double deltaT = (now - previousTime) / 1e9;
+			// put your code here
+			clearCanvas();
+			drawUFO(x, y);
+			x += speed * deltaT;
+			y += speed * deltaT;
+		}
+		previousTime = now;
+		
+	}
+	
+	private void clearCanvas() {
+		gc.clearRect(0, 0, canvas.getWidth(), canvas.getHeight());
+	}
+	
+	private void drawUFO(double x, double y) {
+		gc.setFill(Color.SILVER);
+		gc.fillOval(x, y, 50, 50);
+		gc.setFill(Color.BLACK);
+		gc.fillRect(x  - 10, y + 25 - 1, 70, 2);
+		
 	}
 
 }
-- 
GitLab