应用纹理时LWJGL异常(我不知道为什么)

时间:2016-04-13 07:47:45

标签: exception lwjgl

所以我在LWJGL中制作游戏(我认为是2),我一直在制作瓷砖网格。但是当我绑定我的纹理时,我得到一个例外,游戏将无法打开(显然),所以我一直试图解决这个问题一小时,但我似乎无法让它工作。这是我的代码,有人可以为我纠正吗?

FILEPATH:filepath

代码:(主要类) http://pastebin.com/GvxEyGRQ

代码:(GridHandler类) http://pastebin.com/2fcwLXU5

代码:( TileType类 - 它是一个枚举) http://pastebin.com/Dk0v3BRc

代码:(瓷砖类) http://pastebin.com/TNATAjJW

代码:(渲染器类) http://pastebin.com/MBhReiAb

我的错误:
线程“main”java.lang.ExceptionInInitializerError中的异常 引起:java.lang.RuntimeException:当前线程中找不到OpenGL上下文。     在org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)     at org.lwjgl.opengl.GL11.glGetError(GL11.java:1299)     at org.newdawn.slick.opengl.renderer.ImmediateModeOGLRenderer.glGetError(ImmediateModeOGLRenderer.java:384)     at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:249)     at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:200)     at org.newdawn.slick.opengl.TextureLoader.getTexture(TextureLoader.java:64)     at org.newdawn.slick.opengl.TextureLoader.getTexture(TextureLoader.java:24)     在Functions.renderer.loadTexture(renderer.java:58)     在Functions.renderer.quickLoad(renderer.java:67)     在Window.Tile。(Tile.java:20)     在Window.GridHandler。(GridHandler.java:30)     在Window.Main。(Main.java:31)

提前致谢,      布赖恩。

1 个答案:

答案 0 :(得分:0)

我认为这可能是因为你的静态GridHandler grid = new GridHandler(map)在main方法之前被实例化了。

您在main方法的开头创建了上下文,但GridHandler在main()之前被实例化,因此尚未创建上下文,并且您尝试使用来自TileHandler类中的呈现器的quickload方法加载纹理 - map [i] [j] = new Tile(i * 64,j * 64,64,64,TileType.stone);

为了执行gl命令,首先需要一个上下文(Display.create()创建当前上下文)。 TextureLoader的作用是在GPU上加载纹理(因此执行命令)。