2010-12-05 79 views
2

我試圖創建Box2D的身體,看起來像這樣:創建複雜的形狀與Box2D的

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

我要創建一個水平矩形,並添加垂直長方形的horiztontal矩形的每一端。

我想創建這個作爲一個單一的身體,所以我在印象之下,我應該創建3個形狀,並附加到身體使用夾具,但我不能看到我是如何surposition定位形狀相對於身體。

所以我的問題是,我如何使用燈具在身體內定位每個形狀?

回答

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

我相信你也需要使用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);