伙计们,我在使用 jmonkeyengine 时遇到了麻烦。在 jme3 的论坛中,我无法就我的问题获得任何有效的帮助。实际上没有人说我的问题是什么。因为我是 lwjgl 和 jme3 的新手,我也不知道会发生什么。简单地说,我在 jmonkey 上创建了一个 basicGame,它是第一个模板作为示例。然后我创建了它的小程序或 webstart 发行版。当我运行它时,它会在 jme3 和 lwjgl 之间引发异常。它说:
Exception in thread “LWJGL Renderer Thread” java.lang.IllegalStateException: No loader registered for type “fnt”
at com.jme3.asset.ImplHandler.aquireLoader(ImplHandler.java:199)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:266)
at com.jme3.asset.DesktopAssetManager.loadFont(DesktopAssetManager.java:365)
at com.jme3.app.SimpleApplication.loadGuiFont(SimpleApplication.java:178)
at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:186)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:130)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:207)
at java.lang.Thread.run(Unknown Source)
以及jme3中BasicGame模板的代码:
/**
* test
*
* @author normenhansen
*/
public class Main extends SimpleApplication {
public static void main(String[] args) {
Main app = new Main();
app.start();
}
@Override
public void simpleInitApp() {
Box b = new Box(Vector3f.ZERO, 1, 1, 1);
Geometry geom = new Geometry("Box", b);
Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
mat.setColor("Color", ColorRGBA.Blue);
geom.setMaterial(mat);
rootNode.attachChild(geom);
}
@Override
public void simpleUpdate(float tpf) {
//TODO: add update code
}
@Override
public void simpleRender(RenderManager rm) {
//TODO: add render code
}
}
笔记:
- BasicGame 项目已在 Linux 或 Windows 上构建
- 使用原版JMonkeyEngine SDK
- 一个例子是在http://appletgame.comeze.com/(只需点击'run-applet.html')
- 网页上的文件权限为所有文件的 755。
有没有人知道我为什么会收到这个错误以及可以做些什么?