2013-10-16 46 views
0

我正在通過andengine開發遊戲。我希望我的球員只能跳一次。所以我使用聯繫人列表。但它並不總是工作。大多數工作,但並不總是。檢查代碼並告訴我我的錯誤。單跳功能

我有播放器object.and十個box2d靜態對象。我不明白這個聯繫偵聽器如何檢測播放器和這些盒子之間的碰撞。因爲我也有其他的盒子,例如:玩家,方形和圓形。爲什麼這個接觸者聽衆在玩家和廣場之間檢測?爲什麼不在圓形和方形之間?

private ContactListener contactListener() 
    { 
     ContactListener contactListener = new ContactListener() 
     { 
      @Override 
      public void beginContact(Contact contact) 
      { 
       player.setJumping(false); 
      } 

      @Override 
      public void endContact(Contact contact) 
      { 
       player.setJumping(true); 

      } 
     }; 
     return contactListener; 
    } 
+0

從聯繫人,你可以得到兩個夾具那相撞。然後你可以檢查他們是哪個裝置。 – iforce2d

+0

相信我這個代碼檢查玩家和其他人之間的關係。可以這樣嗎? – immyth

+0

您發佈的代碼根本不檢查任何內容。例如,在beginContact函數中,你應該在調用player.setJumping之前檢查其中一個燈具是否是玩家,對不對?否則,即使其他事物開始觸及,玩家狀態也會改變。 – iforce2d

回答

0

我想你想的碰撞機構從非碰撞bodies.This link分開幫助你