package aurelienribon.tweenengine.applets; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOException; import javax.imageio.ImageIO; /** * @author Aurelien Ribon | http://www.aurelienribon.com */ public class Sprite { private BufferedImage image; private float x = 0; private float y = 0; private float scaleX = 1; private float scaleY = 1; private boolean isCentered = true; private boolean isVisible = true; public Sprite(String gfxName) { try { image = ImageIO.read(Sprite.class.getResource("/aurelienribon/tweenengine/applets/gfx/" + gfxName)); } catch (IOException ex) { } } public void draw(Graphics2D gg) { if (!isVisible) return; gg = (Graphics2D) gg.create(); gg.translate(x, y); gg.scale(scaleX, scaleY); gg.drawImage(image, null, isCentered ? -image.getWidth()/2 : 0, isCentered ? -image.getHeight()/2 : 0); gg.dispose(); } public void setPosition(float x, float y) { this.x = x; this.y = y; } public void setScale(float scaleX, float scaleY) { this.scaleX = scaleX; this.scaleY = scaleY; } public Sprite setCentered(boolean isCentered) { this.isCentered = isCentered; return this; } public void setVisible(boolean isVisible) { this.isVisible = isVisible; } public float getX() { return x; } public float getY() { return y; } public float getScaleX() { return scaleX; } public float getScaleY() { return scaleY; } public boolean isVisible() { return isVisible; } }