我有檢查碰撞與更新run()方法中的2 arraylist的問題。這裏是我的run()方法中的代碼:Run()方法中的兩個ArrayList碰撞檢測
ArrayList enemy = addenemy.getEnemy();
for (int i = 0; i < enemy.size(); i++) {
Enemy p = (Enemy) enemy.get(i);
if (p.isVisible() == true) {
p.update();
} else {
enemy.remove(i);
}}
ArrayList bullets = CharS.getBullets();
for (int i = 0; i < bullets.size(); i++) {
Bullets p = (Bullets) bullets.get(i);
if (p.isVisible() == true) {
p.update();
} else {
bullets.remove(i);
}}
這裏是我在子彈類中的碰撞代碼。
private void checkCollision() {
ArrayList enemy = Game.getEnemy();
for (int i = 0; i < enemy.size(); i++) {
Enemy e = (Enemy) enemy.get(i);
if(r.intersects(e.r)){
visible = false;
System.out.println("SHOTED");
}}}
我得到錯誤時,當敵人的對象刪除(屏幕)。我該如何解決這個問題?謝謝
「我得到了錯誤」 - 好的,有什麼錯誤? –
我收到了以下消息:線程「Thread-3」中的異常java.lang.NullPointerException – Nizarhdt
異常堆棧跟蹤應顯示導致NPE的代碼行。請確定您發佈的代碼中的哪行代碼導致了異常。另外,'checkCollision'方法中的'r'是什麼? –