我目前使用 LWJGL 纹理在屏幕上绘制图像。我想从精灵表中读取纹理*。我正在使用 slick 的 TextureLoader 类来加载纹理。
我绘制了一个 LWJGL 形状并将纹理绑定到它上面。
例如:
我画了一个图像:
Texture texture = ResourceManager.loadTexture("Images/Tests/test.png");
GL11.glBegin(GL11.GL_QUADS);
{
GL11.glTexCoord2f(0, 0);
GL11.glVertex2f(0, 0);
GL11.glTexCoord2f(0, texture.getHeight());
GL11.glVertex2f(0, height);
GL11.glTexCoord2f(texture.getWidth(), texture.getHeight());
GL11.glVertex2f(width,height);
GL11.glTexCoord2f(texture.getWidth(), 0);
GL11.glVertex2f(width,0);
}
GL11.glEnd();
我认为在调用 glTexCoord2f 时有一种方法,我可以给它一个精灵偏移量并将精灵表加载到纹理中,
例如一个电话会是这样的:
GL11.glTexCoord2f(0+spriteXOffset, texture.getHeight()-spriteYOffset);
但我真的很想知道是否有更简单的方法,例如从单个纹理中提取纹理,就像他们在这里所做的那样:
只是代替 BufferedImage,Texture 对象。
感谢您的帮助!