在当前线程中找不到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

回到顶部