I cant i get an error message.
G:\JFiles\WorkingTitle\Sprite.java:55: cannot find symbol
symbol : method drawImage(java.awt.Image,java.awt.geom.AffineTransform,<nulltype>)
location: class java.awt.Graphics
g.drawImage(image,AffineTransform.getScaleInstance(1,-1),null);
^
This is in the Sprite class.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| public class Sprite { private Image image; public Sprite(Image image) { this.image = image; } public int getWidth() { return image.getWidth(null); }
public int getHeight() { return image.getHeight(null); } public void draw(Graphics g,int x,int y) { g.drawImage(image,x,y,image.getWidth(null),image.getHeight(null),null); } } |
This, the Sprite storage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| import java.awt.GraphicsConfiguration; import java.awt.GraphicsEnvironment; import java.awt.Image; import java.awt.Transparency; import java.awt.image.BufferedImage; import java.io.IOException; import java.net.URL; import java.util.HashMap;
import javax.imageio.ImageIO;
public class SpriteStore { private static SpriteStore single = new SpriteStore(); public static SpriteStore get() { return single; } private HashMap sprites = new HashMap(); public Sprite getSprite(String ref) { if (sprites.get(ref) != null) { return (Sprite) sprites.get(ref); } BufferedImage sourceImage = null; try { URL url = this.getClass().getClassLoader().getResource(ref); if (url == null) { fail("Can't find ref: "+ref); } sourceImage = ImageIO.read(url); } catch (IOException e) { fail("Failed to load: "+ref); } GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration(); Image image = gc.createCompatibleImage(sourceImage.getWidth(),sourceImage.getHeight(),Transparency.BITMASK); image.getGraphics().drawImage(sourceImage,0,0, sourceImage.getWidth(),sourceImage.getHeight(),null); Sprite sprite = new Sprite(image); sprites.put(ref,sprite); return sprite; } private void fail(String message) { System.err.println(message); System.exit(0); } } |