2010-12-05 5 views
2

Je suis en train de créer un corps box2d qui ressemble à ceci:Création de formes complexes avec box2d

http://www.tobyjones.com/3d/3d_rec.jpg

je vais créer un rectangle horizontal et ajouter des rectangles verticaux à chaque extrémité du rectangle horiztontal . Je veux créer ceci comme un seul corps et donc j'ai eu l'impression que je devais créer 3 formes et les attacher au corps en utilisant un appareil, mais je ne peux pas voir comment je suis placé pour positionner les formes par rapport à le corps. Donc, ma question est, comment puis-je positionner chaque forme dans le corps en utilisant des appareils?

Répondre

0
//middle shape 
polygonShape.SetAsBox(5, 1); 

//left end shape 
polygonShape.SetAsBox(1, 5, b2Vec2(-5,-5), 0); 

//right end shape 
polygonShape.SetAsBox(1, 5, b2Vec2(5,-5), 0); 
1

Je crois que vous devez également utiliser la méthode createShape() pour chaque forme que vous ajoutez:

 bodyDef = new b2BodyDef(); 

    body = world.CreateBody(bodyDef); 

    boxDef = new b2PolygonShape(); 
    boxDef.SetAsBox(5,1); 

    body.CreateShape(boxDef); 

    boxDef.SetAsBox(1, 5, b2Vec2(-5,5), 0); 

    body.CreateShape(boxDef); 

    boxDef.SetAsBox(1, 5, b2Vec2(5,-5), 0); 

    body.CreateShape(boxDef);