我想将.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)
答案 0 :(得分:0)
您不能简单地在init
方法中开始渲染。您应该覆盖render
方法并在那里进行渲染。此时,OpenGL上下文应该由Slick2D初始化。
public void render(GameContainer arg0, Graphics arg1) throws SlickException