2014-02-22 84 views
1

我試圖讓這個基本的應用程序來檢測兩個精靈的重疊,但沒有發生。按照這個教程,但它似乎並沒有爲我工作。有任何想法嗎?用.overlaps方法檢測碰撞/重疊

培訓相關十歲上下的代碼

Rectangle car; 
    Array<Rectangle> carb; 

public void render() { 

     String scorer = String.valueOf(score); 
     camera.update(); 
     batch.setProjectionMatrix(camera.combined); 

     Iterator<Rectangle> iter = carb.iterator(); 
     while (iter.hasNext()) { 
      Rectangle car2 = iter.next(); 
      car2.y -= score + 200 * Gdx.graphics.getDeltaTime(); 
      if (car2.y + 200 < 0) { 
       iter.remove(); 
       score++; 

       if (car.overlaps(car2)) { 
        System.out.println("Works"); 
        iter.remove(); 

       } 
      } 
     } 


private void spawnCar() { 

    Rectangle car2 = new Rectangle(); 


    car = new Rectangle(); 

    lastSpawn = TimeUtils.nanoTime(); 

} 

回答

2

這裏:

 if (car2.y + 200 < 0) { 
      iter.remove(); 
      score++; 

      if (car.overlaps(car2)) { 
       System.out.println("Works"); 
       iter.remove(); 

      } 
     } 

你檢查,只有當該矩形時,屏幕下方拆下碰撞。像這樣做:

 if (car.overlaps(car2)) { 
      System.out.println("Works"); 
      iter.remove(); 
     } 
     if (car2.y + 200 < 0) { 
      iter.remove(); 
      score++; 
     } 
+0

感謝,碰撞的工作,但現在好像紋理關閉,或什麼的,可能要做出一個新的職位,不知道是什麼導致了它。乾杯 – CodingNub