diff --git a/src/main/java/lab/DrawingThread.java b/src/main/java/lab/DrawingThread.java index af51eacecd31059ea67c309983b484db72beefd5..bac23778ca78f5778c11626505ba7a4420db604e 100755 --- a/src/main/java/lab/DrawingThread.java +++ b/src/main/java/lab/DrawingThread.java @@ -17,7 +17,7 @@ public class DrawingThread extends AnimationTimer { public DrawingThread(Canvas canvas) { this.canvas = canvas; this.gc = canvas.getGraphicsContext2D(); - this.world = new World(canvas); + this.world = new World(canvas.getWidth(), canvas.getHeight()); } /** @@ -26,7 +26,7 @@ public class DrawingThread extends AnimationTimer { @Override public void handle(long now) { gc.clearRect(0, 0, canvas.getWidth(), canvas.getHeight()); - world.draw(); + world.draw(gc); if (lasttime > 0) { //time are in nanoseconds and method simulate expects seconds world.simulate((now - lasttime) / 1e9); diff --git a/src/main/java/lab/World.java b/src/main/java/lab/World.java index c83521dac1b0f272d25c8c424b463d95a33bd1d1..32e29063760794dc58a65e7060e1ad47a5f17cf0 100644 --- a/src/main/java/lab/World.java +++ b/src/main/java/lab/World.java @@ -1,28 +1,27 @@ package lab; import javafx.geometry.Point2D; -import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; public class World { + private double width; + private double height; private BulletAnimated bulletAnimatted; private Cannon cannon; - private final Canvas canvas; - - public World(Canvas canvas) { - super(); - this.canvas = canvas; + + public World(double width, double height) { + this.width = width; + this.height = height; cannon = new Cannon(this, new Point2D(50, 50), new Point2D(100, 20)); bulletAnimatted = new BulletAnimated(this, cannon, new Point2D(30, 60), new Point2D(0, 0), 40); } public Point2D getCanvasPoint(Point2D worldPoint) { - return new Point2D(worldPoint.getX(), canvas.getHeight() - worldPoint.getY()); + return new Point2D(worldPoint.getX(), height - worldPoint.getY()); } - public void draw() { - GraphicsContext gc = canvas.getGraphicsContext2D(); - gc.clearRect(0, 0, canvas.getWidth(), canvas.getHeight()); + public void draw(GraphicsContext gc) { + gc.clearRect(0, 0, width, height); cannon.draw(gc); bulletAnimatted.draw(gc); } @@ -33,11 +32,11 @@ public class World { } public double getWidth() { - return canvas.getWidth(); + return width; } public double getHeight() { - return canvas.getHeight(); + return height; } }