0
너비가 512px 인 이미지가 있습니다. 이 코드 조각은 내가 래스터 크기를 확인 할 때 당신은 너무 늦게 counterX
및 counterY
를 업데이트하는 512getSubImage outside Raster
private void automaticStaticSpriteLoader(String loadedName, String imgLoc, BufferedImage[] biArray, int numberOfSpritesToLoad, int numberOfSpritesInImage, int percentComplete){
try {
temporaryBigImg = ImageIO.read(getClass().getResource(imgLoc + ".png"));
} catch (IOException e) {
System.out.println(classNumber + " Error Loading Sprite Images. Shutting Down.");
e.printStackTrace();
}
for(int i = 0; i<numberOfSpritesToLoad;i++){
biArray[i] = temporaryBigImg.getSubimage(counterX, counterY, 32, 32);
System.out.println("CounterX = " + counterX + " CounterY = " + counterY + " Current Index = " + i);
if(counterX == 512){
counterY += 32;
counterX = -32;
}
counterX+=32;
}
}
고맙습니다! 나는 그것이 512에 있다는 것을 깨닫지 못했다. (이미지의 끝이다.) – Loligans
예외 메시지가 x와 width에 대한 실제 값을 포함하지 않는다고 생각한다. 디버깅이 훨씬 쉬울 것이다. .. – haraldK