Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.62 KB | None | 0 0
  1. package game1;
  2.  
  3.  
  4. import java.awt.image.BufferedImage;
  5. import java.io.File;
  6. import java.io.IOException;
  7. import javax.imageio.ImageIO;
  8.  
  9. public class SpriteArray
  10. {
  11.    
  12.     //sprite array
  13.     private BufferedImage[][] sprites;
  14.     private int spriteXCount;
  15.     private int spriteYCount;
  16.    
  17.     //main constructor:
  18.     public SpriteArray(String file, int spriteWidth, int spriteHeight)
  19.     {
  20.        
  21.         //create File from filename sent in string
  22.         File imageFile = new File(file);
  23.        
  24.         //create BufferedImage to hold image read from file
  25.         BufferedImage image = null;
  26.        
  27.         //read image from file supplied, throw exception if it fails
  28.         try
  29.         {
  30.             image = ImageIO.read(imageFile);
  31.         }
  32.         catch (IOException e)
  33.         {
  34.             e.printStackTrace();
  35.         }
  36.        
  37.         //returns width and height of image, used to calculate number of sprites
  38.         int cellWidth = image.getWidth();
  39.         int cellHeight = image.getHeight();
  40.        
  41.         //calculate number of sprites in spritesheet
  42.         spriteXCount = cellWidth / spriteWidth;
  43.         spriteYCount = cellHeight / spriteHeight;
  44.        
  45.         //allocate memory for required number of images in 'sprites' array
  46.         sprites = new BufferedImage[spriteXCount][spriteYCount];
  47.            
  48.         //apply each subimage (sprite from spritesheet) to each element in the array
  49.         for (int i = 0; i < spriteXCount; i++)
  50.         {
  51.             for (int j = 0; j < spriteYCount; j++)
  52.             {
  53.                 sprites[i][j] = image.getSubimage( (spriteWidth * i) , (spriteHeight * j), spriteWidth, spriteHeight);
  54.             }
  55.            
  56.         }
  57.                
  58.     }
  59.    
  60.     public BufferedImage[][] getSprites()
  61.     {
  62.         return sprites;
  63.     }
  64.    
  65.     public BufferedImage getSpriteElement(int i, int j)
  66.     {
  67.         return sprites[i][j];
  68.     }
  69.    
  70.    
  71.    
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement