java ThiledMap slick当前线程中没有找到OpenGL上下文

时间:2017-06-20 19:19:09

标签: java opengl intellij-idea slick tiled

我想将.tmx文件用作TiledMap

这是我的主要课程:

package com.company;

import org.newdawn.slick.SlickException;
import org.newdawn.slick.tiled.TiledMap;

public class Main {

    private static TiledMap map;
    public static void main(String[] args) {
        try {
            init();
        }
        catch (SlickException e) {
            e.printStackTrace();
        }
    }
    private static void init() throws SlickException {
        map = new TiledMap("com/company/untitled.tmx");
        map.render(100,100);
    }
}

当我在intellij:

中编译我的程序时,我遇到了以下问题
  

Tue Jun 20 23:37:23 IRDT 2017错误:当前帖子中没有找到OpenGL上下文。   java.lang.RuntimeException:当前线程中找不到OpenGL上下文。     在org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)     at org.lwjgl.opengl.GL11.glGetError(GL11.java:1377)     at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:226)     at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:171)     在org.newdawn.slick.Image。(Image.java:196)     在org.newdawn.slick.tiled.TileSet。(TileSet.java:113)     在org.newdawn.slick.tiled.TiledMap.load(TiledMap.java:447)     在org.newdawn.slick.tiled.TiledMap。(TiledMap.java:90)     在org.newdawn.slick.tiled.TiledMap。(TiledMap.java:77)     在com.company.Main.init(Main.java:18)     在com.company.Main.main(Main.java:11)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:498)     在com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

1 个答案:

答案 0 :(得分:0)

您不能简单地在init方法中开始渲染。您应该覆盖render方法并在那里进行渲染。此时,OpenGL上下文应该由Slick2D初始化。

public void render(GameContainer arg0, Graphics arg1) throws SlickException