【发布时间】:2015-06-25 14:08:40
【问题描述】:
我想从我的 DekstopLauncher.java 创建多个游戏窗口。 第二个应该能够与第一个交互,例如请求一个字符串。
有可能吗?怎么做?
这是我在 DeskopLauncher 类中尝试过的:
这是创建第一个窗口:
LwjglApplicationConfiguration configForTiles = new LwjglApplicationConfiguration();
TilePresets tilesWindow = new TilePresets();
LwjglApplication tiles = new LwjglApplication(tilesWindow, configForTiles);
这是第二个
LwjglApplicationConfiguration configForMap = new LwjglApplicationConfiguration();
MapMaker mapWindow = new MapMaker();
LwjglApplication map = new LwjglApplication(mapWindow, configForMap);
只创造一个作品。但是如果同时添加它会给我这个错误:
LwjglApplication: Couldn't initialize audio, disabling audio
java.lang.IllegalStateException: Only one OpenAL context may be instantiated at any one time.
at org.lwjgl.openal.AL.create(AL.java:113)
at org.lwjgl.openal.AL.create(AL.java:102)
at org.lwjgl.openal.AL.create(AL.java:206)
at com.badlogic.gdx.backends.lwjgl.audio.OpenALAudio.(OpenALAudio.java:72)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.(LwjglApplication.java:83)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.(LwjglApplication.java:64)
at com.whoplays.mapmaker.desktop.DesktopLauncher.main(DesktopLauncher.java:16)
Exception in thread "LWJGL Application" java.lang.IllegalStateException: From thread Thread[LWJGL Application,5,main]: Thread[LWJGL Application,5,main] already has the context current at org.lwjgl.opengl.ContextGL.checkAccess(ContextGL.java:184)
at org.lwjgl.opengl.ContextGL.forceDestroy(ContextGL.java:241)
at org.lwjgl.opengl.DrawableGL.destroy(DrawableGL.java:130)
at org.lwjgl.opengl.Display$5.destroy(Display.java:834)
at org.lwjgl.opengl.Display.destroy(Display.java:1095)
at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.createDisplayPixelFormat(LwjglGraphics.java:197)
at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setupDisplay(LwjglGraphics.java:174)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:138)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:120)
【问题讨论】:
-
这是创建第一个窗口:
LwjglApplicationConfiguration configForTiles = new LwjglApplicationConfiguration(); TilePresets tilesWindow = new TilePresets(); LwjglApplication tiles = new LwjglApplication(tilesWindow, configForTiles);这是第二个LwjglApplicationConfiguration configForMap = new LwjglApplicationConfiguration(); MapMaker mapWindow = new MapMaker(); LwjglApplication map = new LwjglApplication(mapWindow, configForMap);编辑:该死,这种评论格式压力很大。 -
在 cmets 中发布代码压力太大,因为格式 ._。所以我在我的服务器上建立了一个小的 as-basic-as-it-gets html 站点,其中包含行格式和错误日志。 whoplays.lima-city.de/code.html
-
只需编辑您的原始问题。
-
完成。抱歉,新的堆栈溢出^^