1     /**
2      * Curso Básico de desarrollo de Juegos en Java - Invaders
3      * 
4      * (c) 2004 Planetalia S.L. - Todos los derechos reservados. Prohibida su reproducción
5      * 
6      * http://www.planetalia.com
7      * 
8      */
9     package version15;
10    
11    import java.awt.image.BufferedImage;
12    import java.net.URL;
13    import java.util.HashMap;
14    
15    import javax.imageio.ImageIO;
16    
17    public class SpriteCache {
18      private HashMap sprites;
19      
20      public SpriteCache() {
21        sprites = new HashMap();
22      }
23      
24      private BufferedImage loadImage(String nombre) {
25        URL url=null;
26        try {
27          url = getClass().getClassLoader().getResource(nombre);
28          return ImageIO.read(url);
29        } catch (Exception e) {
30          System.out.println("No se pudo cargar la imagen " + nombre +" de "+url);
31          System.out.println("El error fue : "+e.getClass().getName()+" "+e.getMessage());
32          System.exit(0);
33          return null;
34        }
35      }
36      
37      public BufferedImage getSprite(String nombre) {
38        BufferedImage img = (BufferedImage)sprites.get(nombre);
39        if (img == null) {
40          img = loadImage("res/"+nombre);
41          sprites.put(nombre,img);
42        }
43        return img;
44      }
45      
46    
47    
48    }
49