1package aurelienribon.tweenengine.applets; 2 3import java.awt.Graphics2D; 4import java.awt.image.BufferedImage; 5import java.io.IOException; 6import javax.imageio.ImageIO; 7 8/** 9 * @author Aurelien Ribon | http://www.aurelienribon.com 10 */ 11public class Sprite { 12 private BufferedImage image; 13 private float x = 0; 14 private float y = 0; 15 private float scaleX = 1; 16 private float scaleY = 1; 17 private boolean isCentered = true; 18 private boolean isVisible = true; 19 20 public Sprite(String gfxName) { 21 try { 22 image = ImageIO.read(Sprite.class.getResource("/aurelienribon/tweenengine/applets/gfx/" + gfxName)); 23 } catch (IOException ex) { 24 } 25 } 26 27 public void draw(Graphics2D gg) { 28 if (!isVisible) return; 29 gg = (Graphics2D) gg.create(); 30 gg.translate(x, y); 31 gg.scale(scaleX, scaleY); 32 gg.drawImage(image, null, isCentered ? -image.getWidth()/2 : 0, isCentered ? -image.getHeight()/2 : 0); 33 gg.dispose(); 34 } 35 36 public void setPosition(float x, float y) { 37 this.x = x; 38 this.y = y; 39 } 40 41 public void setScale(float scaleX, float scaleY) { 42 this.scaleX = scaleX; 43 this.scaleY = scaleY; 44 } 45 46 public Sprite setCentered(boolean isCentered) { 47 this.isCentered = isCentered; 48 return this; 49 } 50 51 public void setVisible(boolean isVisible) { 52 this.isVisible = isVisible; 53 } 54 55 public float getX() { 56 return x; 57 } 58 59 public float getY() { 60 return y; 61 } 62 63 public float getScaleX() { 64 return scaleX; 65 } 66 67 public float getScaleY() { 68 return scaleY; 69 } 70 71 public boolean isVisible() { 72 return isVisible; 73 } 74} 75