実際にピクセルがあるすべてのピクセル位置を含む ArrayList を作成するこのコードがあります (alpha != 0)。
コードは次のとおりです。
public ArrayList<Point> getPixels() {
ArrayList<Point> output = new ArrayList<Point>();
Image frameImage = img.getCurrentFrame();
for (int FIx = 0; FIx <= img.getWidth(); FIx++) {
for (int FIy = 0; FIy <= img.getHeight(); FIy++) {
if (frameImage.getColor(FIx, FIy).getAlpha() != 0.00f) {//<-- Error
output.add(new Point(FIx, FIy));
}
}
}
return output;
}
ループはエラーなしで数回正常に完了できますが、おそらくランダムに実行されると、次のエラーが発生します。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 32768
at org.newdawn.slick.Image.getColor(Image.java:1248)
at com.SourCherry.games.KittySniper.Enemy.Kitten.getPixels(Kitten.java:197)
上記の行 (Kitten.java:197) にコメントを付けました。
この問題を解決するために他に何か必要な場合は、コメントで質問してください。ありがとう。