/** * File: Missile.java * Author: Brian Borowski * Date created: August 1, 2011 * Date last modified: January 1, 2013 */ import java.awt.Graphics; import java.awt.Image; import java.awt.Rectangle; public class Missile { private final int xPos, speed; private float yPos; private static final Image missileImage; private static int missileWidth, missileHeight; static { // Missile image courtesy of Ryan Stillings. missileImage = Utility.getImage("images/missile.png"); missileWidth = missileImage.getWidth(null); missileHeight = missileImage.getHeight(null); } public Missile(final int speed, final int x, final int y) { this.speed = speed; xPos = x; yPos = y; } public int getYPos() { return (int)yPos; } public void moveUp(final float elapsedSeconds) { yPos -= speed * elapsedSeconds; } public Rectangle getBoundingRectangle() { return new Rectangle( xPos - (missileWidth >> 1), (int)yPos, missileWidth, missileHeight); } public void paintComponent(final Graphics g) { g.drawImage(missileImage, xPos - (missileWidth >> 1), (int)yPos, null); } }