【发布时间】:2014-05-04 21:23:20
【问题描述】:
我想要做的是,当达到某个分数时,让游戏对象移动得更慢。我正在尝试在布尔值的帮助下这样做。
分数出来了。
public boolean bol = false;
还有我的布尔值。
if(score == 2) {
bol = true;
}
这是声明。
if(gw.bol = true) {
acceleration = new Vector2(0, 200);
}
如果 bol 为真(当用户达到 2 分时它会是什么?)那么加速度是否应该成为我写的那个新的?
但是当我运行代码时,我得到:
Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.kilobolt.GameObjects.Bird.<init>(Bird.java:31)
at com.kilobolt.GameWorld.GameWorld.<init>(GameWorld.java:32)
at com.kilobolt.Screens.GameScreen.<init>(GameScreen.java:25)
at com.kilobolt.ZombieBird.ZBGame.create(ZBGame.java:13)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
【问题讨论】:
-
这可能无法解决您的问题,但
if(gw.bol = true)应该是if(gw.bol == true),或者更好的是if(gw.bol) -
可能 gw 未初始化,因此 gw.bol 导致 NullpointerException。