Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Exception 应用纹理时LWJGL异常(我不知道为什么)_Exception_Lwjgl - Fatal编程技术网

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

Exception 应用纹理时LWJGL异常(我不知道为什么),exception,lwjgl,Exception,Lwjgl,所以我正在用LWJGL(我想是2)做一个游戏,我一直在做一个瓷砖网格。但是当我绑定我的纹理时,我遇到了一个异常,游戏无法打开(显然),所以我已经尝试解决这个问题一个小时了,但我似乎无法让它工作。这是我的密码,有人能帮我更正一下吗 文件路径: 代码:(主类) 代码:(GridHandler类) 代码:(TileType类-它是一个枚举) 代码:(瓷砖类) 代码:(渲染器类) 我的错误: 线程“main”java.lang.ExceptionInInitializeError中出现异常 原

所以我正在用LWJGL(我想是2)做一个游戏,我一直在做一个瓷砖网格。但是当我绑定我的纹理时,我遇到了一个异常,游戏无法打开(显然),所以我已经尝试解决这个问题一个小时了,但我似乎无法让它工作。这是我的密码,有人能帮我更正一下吗

文件路径:

代码:(主类)

代码:(GridHandler类)

代码:(TileType类-它是一个枚举)

代码:(瓷砖类)

代码:(渲染器类)

我的错误:
线程“main”java.lang.ExceptionInInitializeError中出现异常 原因:java.lang.RuntimeException:在当前线程中未找到OpenGL上下文。 位于org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124) 位于org.lwjgl.opengl.GL11.glGetError(GL11.java:1299) 位于org.newdawn.slick.opengl.renderer.ImmediateModeOGLRenderer.glGetError(ImmediateModeOGLRenderer.java:384) 位于org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:249) 位于org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:200) 位于org.newdawn.slick.opengl.TextureLoader.getTexture(TextureLoader.java:64) 位于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)

提前感谢,,
Bryan。

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

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


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

它与OpenGL上下文有关。执行命令的线程不拥有它。不幸的是,我不知道lwjgl能帮你什么,但这应该是你应该研究的方向。好的,我会记住的。感谢这一切,当我看到javac发布的“当前线程中找不到OpenGL上下文,如何修复此错误?”时,我已经明白了这一点,不过还是要谢谢你