【发布时间】:2011-04-04 21:08:04
【问题描述】:
所以我尝试创建一个小型 Zombie-Shooter 游戏。我使用 ACM 包 (jtf.acm.org) 中的 GTurtle 类。我有一个 GTurtle 的附加线程,它是一个 GObject。我有一个带有 while 循环的 run 方法,即检查 boolean 是否为真,如果是 - this.forward() 方法被执行。
我尝试运行游戏并按下按钮,如果是 W 或 D,GTurtle 对象中的布尔值会发生变化,线程会执行操作。然后我得到这个异常:
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:394)
at acm.util.JTFTools.pause(JTFTools.java)
at acm.util.Animator.delay(Animator.java)
at acm.graphics.GTurtle.setLocation(GTurtle.java)
at acm.graphics.GObject.move(GObject.java)
at acm.graphics.GTurtle.move(GTurtle.java)
at acm.graphics.GObject.movePolar(GObject.java)
at acm.graphics.GTurtle.forward(GTurtle.java)
at anotherTryJava.Player.run(Player.java:20)
at java.lang.Thread.run(Thread.java:662)
【问题讨论】: