作成しているゲームのメニューに単純な背景テクスチャを読み込もうとしていますが、テクスチャが正しく表示されません。
たとえば、次のテクスチャを使用する場合:http ://s15.postimage.org/mqvuhq463/Super_Mario_Galazy_Background.png背景全体が青色で、このテクスチャを使用する場合:http ://www.highresolutiontextures.com/wp-content/ uploads / 2010/11/food-textures-01-bowtie-pasta-texture.jpg背景全体がオレンジ色になっています。
これは私が書いたコードです:
public class Menu extends Painter
{
public Menu(GLCanvas canvas, Animator animator, GameWindow window)
{
super(canvas, animator, window);
}
@Override
public void display(GLAutoDrawable drawable)
{
GL gl = drawable.getGL();
drawBackground(gl);
gl.glFlush();
}
private void drawBackground(GL gl)
{
Texture background = textureLoader.getTexture("background");
background.enable();
background.bind();
gl.glBegin(GL.GL_QUADS);
gl.glVertex2f(0f, 0f);
gl.glVertex2f(0f, window.getHeight());
gl.glVertex2f(window.getWidth(), window.getHeight());
gl.glVertex2f(window.getWidth(), 0);
gl.glEnd();
background.disable();
}
@Override
public void init(GLAutoDrawable drawable)
{
GL gl = drawable.getGL();
textureLoader = new TextureLoader("menu textures/", gl);
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
// set ortho to the size of the background
gl.glOrtho(0, 800, 800, 0, -1, 1);
gl.glMatrixMode(GL.GL_MODELVIEW_MATRIX);
gl.glClearColor(0f, 0f, 0f, 0f);
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
}
}
私はこれがどのように可能であるかについて少しも手がかりを持っていないので、どんな助けも大いにありがたいです。