0
我试图在LWJGL中使用纹理坐标将1.0f除以帧数(glTexCoords
范围从0-1),这会返回图像中帧的间隔像这样:LWJGL坐标的动画纹理关闭
float f = 1.0f/mat.getFrames();
GL11.glBegin(7);
GL11.glTexCoord2f(0.0F, f*curFrame);
GL11.glVertex2d(rX, rY);
GL11.glTexCoord2f(1.0F, f*curFrame);
GL11.glVertex2d(rX + this.size, rY);
GL11.glTexCoord2f(1.0F, (f*curFrame)+f);
GL11.glVertex2d(rX + this.size, rY + this.size);
GL11.glTexCoord2f(0.0F, (f*curFrame)+f);
GL11.glVertex2d(rX, rY + this.size);
GL11.glEnd();
注意这是mat.getFrames():
public int getFrames(){
return numOfFrames;
}
但是当我使用1.0F/10(图像是64x640)它这样做: My problem 但是,如果我使用16作为帧数s发生:Another problem它似乎添加了一些黑色框架。我没有看到它加载纹理时出了什么问题,将1除以帧数,然后使用当前帧号*它为y1分割的数字,然后使用y1 + y2的除数,女巫应理论上工作,但事实并非如此。
看来,Slick_Util四舍五入到1024,我把它的大小设置为64x512,当我用10作为它现在工作的帧数。 – Coppyhop 2015-04-02 17:21:56