jMonkeyEngine:flyCam 和 inputManager 都是 return NULL
jMonkeyEngine: flyCam and inputManager both return NULL
我遇到了麻烦:突然 flyCam 和 inputManager inside simpleInitApp() 都变成了 NULL。
我不明白发生了什么事!他们总是空的!
public void simpleInitApp() {
Box b = new Box(1, 1, 1);
System.out.println("inputManager = " + inputManager + "; flyCam = " + flyCam);
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);
}
输出:inputManager = null; flyCam = null
我的所有示例(我通过 jMonkey Book 做了很多示例)现在抛出 NullPointer 异常(它们之前有效)。
我试过:
- 重新安装 jMonkey SDK 并清理 Windows 注册表
- 重新安装视频驱动程序
...没有任何帮助...
我不明白我到底做了什么......据我所知我刚刚写了这个:
private final InputListener flyCamListener = new ActionListener() {
@Override
public void onAction(String name, boolean isPressed, float tpf) {
boolean enabled = app.getFlyByCamera().isEnabled();
app.getFlyByCamera().setEnabled(!enabled);
}
};
一切都被压碎了。
===
jMonkey 3.0.10_x86,Java:1.7.0_51,Windows 7 x86,OpenGL:3.0.0,GLSL 版本:1.30 - Intel Build 8.15 .10.2342
我想我解决了问题。在其中一个论坛上,我发现并在新项目中包含了这样一个部分:
Main app = new Main();
AppSettings settings = new AppSettings(true);
settings.setRenderer(AppSettings.LWJGL_OPENGL_ANY);
settings.setResolution(640, 480);
settings.setFrameRate(30);
app.setSettings(settings);
app.start();
...一切都开始工作了!包括我以前所有的应用程序都意外地开始崩溃。
所以我认为关键点是 setRenderer() 方法。我记得我在没有这样一行的情况下启动了我的灾难性应用程序,并且可能为了它自己而设置了 jMonkey "saved"。
那么为什么 jMonkey 会在全局和永久地保留它的不稳定设置呢?其他应用全部卡死,重装SDK也无济于事等等!
我遇到了麻烦:突然 flyCam 和 inputManager inside simpleInitApp() 都变成了 NULL。
我不明白发生了什么事!他们总是空的!
public void simpleInitApp() {
Box b = new Box(1, 1, 1);
System.out.println("inputManager = " + inputManager + "; flyCam = " + flyCam);
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);
}
输出:inputManager = null; flyCam = null
我的所有示例(我通过 jMonkey Book 做了很多示例)现在抛出 NullPointer 异常(它们之前有效)。
我试过:
- 重新安装 jMonkey SDK 并清理 Windows 注册表
- 重新安装视频驱动程序
...没有任何帮助...
我不明白我到底做了什么......据我所知我刚刚写了这个:
private final InputListener flyCamListener = new ActionListener() {
@Override
public void onAction(String name, boolean isPressed, float tpf) {
boolean enabled = app.getFlyByCamera().isEnabled();
app.getFlyByCamera().setEnabled(!enabled);
}
};
一切都被压碎了。
===
jMonkey 3.0.10_x86,Java:1.7.0_51,Windows 7 x86,OpenGL:3.0.0,GLSL 版本:1.30 - Intel Build 8.15 .10.2342
我想我解决了问题。在其中一个论坛上,我发现并在新项目中包含了这样一个部分:
Main app = new Main();
AppSettings settings = new AppSettings(true);
settings.setRenderer(AppSettings.LWJGL_OPENGL_ANY);
settings.setResolution(640, 480);
settings.setFrameRate(30);
app.setSettings(settings);
app.start();
...一切都开始工作了!包括我以前所有的应用程序都意外地开始崩溃。
所以我认为关键点是 setRenderer() 方法。我记得我在没有这样一行的情况下启动了我的灾难性应用程序,并且可能为了它自己而设置了 jMonkey "saved"。
那么为什么 jMonkey 会在全局和永久地保留它的不稳定设置呢?其他应用全部卡死,重装SDK也无济于事等等!