2013-04-05 84 views
1

我有三個b2Body-s。頭,下巴和一個靜態類型b2Body。我添加一個b2Joint從靜態b2Body到頭部和另一個b2Joint爲頭部和下巴。頭部忽略靜態身體,因爲collideConnected對於關節是假的,但是下巴不會忽略它。如何做到這一點?請提出建議。如何讓b2Body忽略另一個b2Body?

回答

1
enum CATEGORY_BITS 
{ 
    BODY1_CATEGORY_BITS = 0x00000001, 
    BODY2_CATEGORY_BITS = 0x00000002, 
    BODY3_CATEGORY_BITS = 0x00000004, 

}; 

當你創建機構和...

b2FixtureDef fixtureForBODY1; 
    fixtureForBODY1.shape = &shapeForBODY1; 
    fixtureForBODY1.filter.categoryBits = BODY1_CATEGORY_BITS; 
    fixtureForBODY1.filter.maskBits = BODY1_CATEGORY_BITS | BODY3_CATEGORY_BITS; 


    b2FixtureDef fixtureForBODY2; 
    fixtureForBODY2.shape = &shapeForBODY2; 
    fixtureForBODY2.filter.categoryBits = BODY2_CATEGORY_BITS; 
    fixtureForBODY2.filter.maskBits = BODY2_CATEGORY_BITS | BODY4_CATEGORY_BITS; 

    b2FixtureDef fixtureForBODY3; 
    fixtureForBODY3.shape = &shapeForBODY3; 
    fixtureForBODY3.filter.categoryBits = BODY3_CATEGORY_BITS; 
    fixtureForBODY3.filter.maskBits = BODY3_CATEGORY_BITS | BODY1_CATEGORY_BITS; 

    b2FixtureDef fixtureForBODY4; 
    fixtureForBODY4.shape = &shapeForBODY4; 
    fixtureForBODY4.filter.categoryBits = BODY4_CATEGORY_BITS; 
    fixtureForBODY4.filter.maskBits = BODY4_CATEGORY_BITS | BODY2_CATEGORY_BITS; 



// BODY1 -> not collide connected (BODY2 and BODY4) 
// BODY1 -> collide connected (BODY1 and BODY3) 
+1

Multumesc偉;) – 2013-04-06 14:16:58

+1

努伊pentru CE! wei !!! – Liolik 2013-04-09 18:03:09

+1

Eu nam spalit deodata ca asta tu ai scris:D:D:D:D – Liolik 2013-04-09 18:04:47