我正在做一个游戏,最近我带了一个尺寸为576××528的子画面,因为它不是公共领域,也不是合法的庞然大物,所以我无法显示或张贴在这里。但是,我希望拍摄图像内部的所有微小图像,每个图像中的16x16。代码编译没有任何错误,这不是我的问题。我的主要问题是,当我循环遍历“ Sprites”数组并将存储在每个Tile对象中的每个BufferedImage写入文件夹时,我只会得到不到一半的图像。我进行了进一步的调试,发现数组中的某些图块为空,这就是为什么它们没有被写出的原因,但是我似乎无法弄清楚为什么。
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);
}
}