我在使用 Slick2Dbind()
功能然后尝试在 OpenGL 中绘制图像时遇到了很多麻烦。
我正在使用Image
从getSubImage
. 如果我使用graphics.drawImage()
它完美地绘制这个图像的方法。但是,如果我使用bind()
,它会绑定Image
我从中获取此子图像的全部内容,那么我可以不绑定子图像还是我做错了?
我的代码中的一些摘录:
在我的类的构造函数中:
ui = new Image("resources/img/ui/ui.png");
// I've tried with SpriteSheet too but Image is more appropriate for my purposes.
border_t = ui.getSubImage(12, 24, 12, 12);
在渲染方法中:
border_t.bind();
graphics.setColor(Color.white);
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2f(0, 0);
GL11.glVertex2f(12, 0);
GL11.glTexCoord2f(9, 0);
GL11.glVertex2f(108, 0);
GL11.glTexCoord2f(9, 1);
GL11.glVertex2f(108, 12);
GL11.glTexCoord2f(0, 1);
GL11.glVertex2f(12, 12);
GL11.glEnd();
这使得整个 spritesheet 缩小了 9 倍,而不是我希望的顶部边框。
Slick2d 是否缺少此功能?它是一个错误吗?还是我只是做错了?