我正在为我正在制作的游戏使用 LWJGL 和 Slick2D。我似乎无法让它按照我想要的方式绘制,所以我想出了一个想法,只是为了制作我自己的绘图方法。基本上,它需要一个图像、ax 和 ay,它遍历图像中的每个像素,获取颜色,然后使用参数 x 加上它所在的 x 像素绘制图像,以获得像素应该被绘制的位置上。与 y 的想法相同。虽然如果像素的 alpha 通道不是 255,则它不会绘制它,尽管我稍后会修复它。问题是,每当我运行我的代码时,我都会得到“线程“主”java.lang.ArrayIndexOutOfBoundsException:-2044 中的异常:-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();
}