作成中のゲームに LWJGL と Slick2D を使用しています。思うように描けないので、自分なりの描き方を作ろうと思いつきました。基本的には、画像、ax、および ay を取り、画像内の各ピクセルを通過し、色を取得してから、パラメーター x とそのピクセルが描画される位置を取得する x ピクセルを使用して画像を描画します。の上。y と同じ考えです。ピクセルのアルファ チャネルが 255 でない場合は描画されませんが、後で修正します。問題は、コードを実行するたびに、「スレッド「メイン」で例外 java.lang.ArrayIndexOutOfBoundsException: -2044」が発生することです。私は本当に混乱しています。なぜこれが起こっているのか誰かが理解できることを願っています。
private void DrawImage(Image image, int xP, int yP)
{
//xP And yP Are The Position Parameters
//Begin Drawing Individual Pixels
glBegin(GL_POINTS);
//Going Across The X And The Y Coords Of The Image
for (int x = 1; x <= image.getWidth(); x++)
{
for (int y = 1; y <= image.getHeight(); y++)
{
//Define A Color Object
Color color = null;
//Set The Color Object And Check If The Color Is Completly Solid Before Rendering
if ((color = image.getColor(x, y)).a == 255)
{
//Bind The Color
color.bind();
//Draw The Color At The Coord Parameters And The X/Y Coord Of The Individual Pixel
glVertex2i(xP + x - 1, yP + y - 1);
}
}
}
glEnd();
}