blob: a86735b3c7fdbb05650ba1add07f5edf5a3c09bc [file] [log] [blame]
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;
}
}