当我尝试运行我的项目时,我的游戏因此错误而崩溃:
Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.badlogic.gdx.utils.Json.writeValue(Json.java:372)
at com.mygdx.game.GuardarMundo.write(GuardarMundo.java:12)
at com.mygdx.game.Mundo.<init>(Mundo.java:71)
at com.mygdx.game.Strategy.create(Strategy.java:9)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
代码是:
static int x,z;
static String type;
@Override
public void write(Json json) {
json.writeValue("X", x);
json.writeValue("Z", z);
json.writeValue("Type", type);
}
@Override
public void read(Json json, JsonValue jsonData) {
// TODO Auto-generated method stub
}
public static void setBlock(int x2,int z2,String type2){
x= x2;
z=z2;
type= type2;
}
有什么问题?
答案 0 :(得分:1)
从查看来源here,如果您从不知情的地方拨打json.writeValue()
,您将获得NullPointerException
,因为writer
字段位于json
} object将是null
。
看起来你应该做的是调用json.toJson(...)
方法之一。这些会为您初始化writer
,然后将其用于对writeValue()
的各种调用。