import java.awt.*; import java.awt.geom.*; import physics2D.*; public class Ball extends Object2D implements Drawable { private Shape ballShape = new Ellipse2D.Double(-1, -1, 2, 2); private Color ballColor = new Color(50,100,255); public Ball(Vector2D position, double scale) { super(scale, 1); AffineTransform scaleT = AffineTransform.getScaleInstance(scale, scale); ballShape = scaleT.createTransformedShape(ballShape); move(position); } public void move(Vector2D m) { AffineTransform translate = AffineTransform.getTranslateInstance(m.getXComponent(), m.getYComponent()); ballShape = translate.createTransformedShape(ballShape); super.move(m); } public Shape[] getShapes() { return new Shape[] {ballShape}; } public Color[] getColors() { return new Color[] {ballColor}; } }