基本上,我有一個碰撞檢測的基本方法,有時當我運行小程序,它的工作原理,但大部分時間它的工作。這裏是錯誤和一些代碼:爲什麼我有時只會得到這個錯誤?
Exception in thread "Thread-3" java.lang.NullPointerException
at zombies.Main.checkCollision(Main.java:110)
at zombies.Main.run(Main.java:140)
at java.lang.Thread.run(Unknown Source)
public void checkCollision(){
if(player.playerRect.intersects(platform.platformRect)){ // line 110
player.dy = 0;
player.y = (platform.y - player.height);
player.isTouching = true;
}
....
@Override
public void run() {
try {
while(true){
checkCollision(); // line 140
player.move();
Thread.sleep(15);
任何幫助非常感謝!提前致謝!
我的猜測是在多線程應用程序缺乏共享,可變數據同步。 – duffymo 2012-03-13 21:07:31
感謝您的快速回復,但我該如何解決這個問題? – hazard1994 2012-03-13 21:08:11
首先,你需要弄清楚它是'player','player.playerRect'還是''null'平臺'...我們沒有足夠的信息去了解。 – 2012-03-13 21:09:58