【发布时间】:2016-09-13 16:34:48
【问题描述】:
我遇到了一个问题:simpleInitApp() 中的 flyCam 和 inputManager 突然都变成了 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
【问题讨论】:
-
如果你不初始化
FlyCamAppState(例如不使用SimpleApplication的默认构造函数)flyCam将为NULL。如果您将配置中的“UseInput”设置为 false,inputManager将为 NULL。
标签: java jmonkeyengine