2010-12-05 13 views
2

Ich versuche, einen Körper in box2d zu schaffen, die wie folgt aussieht:Erstellen komplexe Formen mit box2d

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

Ich wollte erstelle ein horizontales Rechteck und fügen Sie vertikale Rechtecken zu jedem Ende des horiztontal Rechtecks .

Ich möchte dies als einen einzigen Körper erstellen und so hatte ich den Eindruck, ich sollte 3 Formen erstellen und diese an den Körper mit Hilfe einer Leuchte befestigen, aber ich kann nicht sehen, wie ich die Formen relativ zu positionieren der Körper.

Also meine Frage ist, wie positioniere ich jede Form im Körper mit Fixtures?

Antwort

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

Ich glaube, Sie auch die create() -Methode für jede Form verwenden, müssen Sie hinzufügen:

 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);