2014-03-27 91 views
0

我的線體:的Android AndEngine線不與他人發生衝突

lineFixtureDef = PhysicsFactory.createFixtureDef(
          1,  // density 
          0.75f, // elasticity 
          0.5f, // friction 
          false); // isSensor 

        lBody = PhysicsFactory.createLineBody(physicsWorld, line5, lineFixtureDef); 
        lBody.setUserData("lineBody"); 

我接觸監聽器:

   @Override 
       public void beginContact(Contact contact) { 
        // TODO Auto-generated method stub 

        final Fixture x1 = contact.getFixtureA(); 
        final Fixture x2 = contact.getFixtureB(); 

        if (x1.getBody().getUserData().equals("pSprite") && x2.getBody().getUserData().equals("eSprite")) 
        { 
         Log.i("CONTACT", "BETWEEN PLAYER AND MONSTER!"); 
         lost(); 
        } else if(x1.getBody().getUserData().equals("eSprite") && x2.getBody().getUserData().equals("lineBody")) 
        { 
         Log.i("CONTACT", "BETWEEN LINE AND MONSTER!"); 
         mScore += 1; 
         mText.setText(" "+mScore+""); 
        } 
       } 

現在,當與pSprite的eSprite發生碰撞,失去的();工程..但如果線和eSprite碰撞沒有任何反應..

回答

0
if (x1.getBody().getUserData().equals("pSprite") && x2.getBody().getUserData().equals("eSprite")) 
        { 
         Log.i("CONTACT", "BETWEEN PLAYER AND MONSTER!"); 
         lost(); 
        } else if(x1.getBody().getUserData().equals("eSprite") && x2.getBody().getUserData().equals("pSprite")) 
        { 
         Log.i("CONTACT", "BETWEEN PLAYER AND MONSTER!"); 
         mScore += 1; 
         mText.setText(" "+mScore+""); 
        } 

if (x1.getBody().getUserData().equals("lineBody") && x2.getBody().getUserData().equals("eSprite")) 
        { 
         Log.i("CONTACT", "BETWEEN LINE AND MONSTER!"); 
         lost(); 
        } else if(x1.getBody().getUserData().equals("eSprite") && x2.getBody().getUserData().equals("lineBody")) 
        { 
         Log.i("CONTACT", "BETWEEN LINE AND MONSTER!"); 
         mScore += 1; 
         mText.setText(" "+mScore+""); 
        } 
+0

可能是你的情況X1幸福線和x2是eSprite – Rama

+0

請把你的線體代碼 – Rama

+0

嘗試與創建矩形 – Rama