Создание сложных фигур с помощью box2d - PullRequest
2 голосов
/ 05 декабря 2010

Я пытаюсь создать тело в box2d, которое выглядит так:

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

Я собирался создать горизонтальный прямоугольник и добавить вертикальные прямоугольники к каждому концу горизонтального прямоугольника.

Я хочу создать это как единое тело, и поэтому у меня сложилось впечатление, что я должен создать 3 фигуры и прикрепить их к телу с помощью приспособления, однако я не вижу, как я могу расположить фигуры относительно корпус.

Итак, мой вопрос: как мне расположить каждую фигуру внутри тела с помощью приспособлений?

Ответы [ 2 ]

1 голос
/ 23 июня 2011

Полагаю, вам также необходимо использовать метод CreateShape () для каждой добавляемой фигуры:

     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);
0 голосов
/ 17 июня 2011
//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 );
...