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

mulţumesc вэй;) –

+1

Нуи Pentru се! wei !!! – Liolik

+1

Eu nam spalit deodata ca asta tu ai scris: D: D: D: D – Liolik

 Смежные вопросы

  • Нет связанных вопросов^_^