Java SubImage не полностью снимает каждое изображение - PullRequest
0 голосов
/ 11 декабря 2018

Я делаю игру, и недавно я принес спрайт с размерами 576 × 528. Я не могу показать это или опубликовать здесь, к сожалению, потому что это не общественное достояние или что-то еще из того, что является законным дураком.Но я хочу взять все крошечные изображения внутри изображения размером 16x16 на каждом изображении.Код компилируется без ошибок, это не моя проблема.Моя главная проблема заключается в том, что когда я перебираю массив «Sprites» и беру каждый BufferedImage, хранящийся в каждом объекте Tile, и записываю его в папку, я получаю только половину изображений.Я пошел в дальнейшую отладку и обнаружил, что некоторые плитки в массиве являются нулевыми, и поэтому они не записываются, но я не могу понять, почему.

     public class Sprites {
        public SpriteSheet(String path) {

  int cellSize = 16;
  BufferedImage fullSheet = GameUtils.getImg(path);
  sprites = new Tile[(fullSheet.getHeight()/cellSize)*(fullSheet.getWidth()/cellSize)];
  System.out.println(fullSheet.getWidth());
  int r,c;
  BufferedImage img;

  for(r = 0; r < 33; r++)
     for(c = 0; c < 36; c++) {
        img = org.getSubimage(c*cellSize,r*cellSize,cellSize,cellSize);
        sprites[r*cellSize+c] = new Tile(img);
         }
     }
...