2013-04-05 83 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