在当前线程中找不到OpenGL上下文,如何解决此错误?
我正在玩纸牌游戏,目前拥有良好的基础,但是在eclipse中运行它时遇到了错误。我也使用光滑的2d。
这是来自控制台的错误。
线程“主”中的异常java.lang.RuntimeException:在当前线程中找不到OpenGL上下文。在org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)在org.lwjgl.opengl.GL11.glGetError(GL11.java:1277)在org.newdawn.slick.opengl.renderer.ImmediateModeOGLRenderer.glGetError(ImmediateMode
org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:337)处的org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:275)处的org.newdawn.slick。位于org.newdawn.slick.Image的Image。(Image.java:270)。位于org.newdawn.slick.Image的org.newdawn.slick.Image。(Image.java:232)的Image。(Image.java:244)。
(Image.java:198)在Cards.Card。(Card.java:18)
我认为错误来源的代码(卡类)
package Cards;import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;
public class Card
{
final int numCards = 52;
Image[] card = new Image [numCards];
Card (int c)
{
String fileLocation = new String ();
for (int i = 1 ; i <= 52 ; i++)
{
fileLocation = "res/cards/" + i + ".png";
try
{
card [i] = new Image (fileLocation); //line
}
catch (SlickException e)
{
e.printStackTrace ();
}
}
}
public Image getImage (int cardlocation)
{
return card [cardlocation];
}
}
有人看过这种问题吗? 我该如何解决?
回答:
这种错误对于LWJGL起动器来说很常见。创建OpenGL上下文后,它将绑定到线程。因此,您只能从同一线程访问此上下文。
由于看上去您使用的线程不同,因此可能是另一个原因。Slick2D似乎需要一个有效的OpenGL上下文作为其Image
类。
因此,我的第一个尝试是在初始化卡图像之前初始化OpenGL上下文。
以上是 在当前线程中找不到OpenGL上下文,如何解决此错误? 的全部内容, 来源链接: utcz.com/qa/418183.html