package lab; import javafx.geometry.Dimension2D; import javafx.geometry.Point2D; import javafx.scene.canvas.GraphicsContext; import javafx.scene.paint.Color; import javafx.scene.transform.Affine; import javafx.scene.transform.Rotate; public class Rock { private Scene scene; private Point2D position; private Dimension2D size; private double angle = 0; public Rock(Scene scene) { this(scene, new Point2D(350, 200), new Dimension2D(60, 10)); } public Rock(Scene scene, Point2D position, Dimension2D size) { this.scene = scene; this.position = position; this.size = size; } public void draw(GraphicsContext gc) { gc.save(); gc.setFill(Color.GRAY); gc.setStroke(Color.GREEN); Point2D center = position.add(size.getWidth()/2, size.getHeight()/2); Rotate rotateMatrix = Affine.rotate(angle, center.getX(), center.getY()); gc.setTransform(new Affine(rotateMatrix)); gc.fillRect(position.getX(), position.getY(), size.getWidth(), size.getHeight()); gc.strokeRect(position.getX(), position.getY(), size.getWidth(), size.getHeight()); gc.restore(); } public void simulate(double deltaTime) { angle += 0.5; } }