2012-01-13 62 views
1

是否可以在分配身體後修改身體內部的形狀,例如我有一個用於我的遊戲英雄身體的盒子形狀,當我按下向下箭頭時,我希望我的英雄蹲伏女巫意味着我需要調整身體形狀。box2d身形修改

我已經在谷歌搜索,但它似乎沒有如此受歡迎的學習形狀的主題。如果不可能,也許你知道這樣做的更好方法。

回答

0

我不認爲沒有像替換形狀並將它們重新附加到身體之類的東西是不可能的。

我的建議是有兩個獨立的機構,一個用於角色的底部,另一個用於頂部,用棱鏡連接。

(關節here更多信息。)

+0

是的,我認爲這種選擇,但我想限制體數量最少,我希望有一個在Box2D的手冊未記錄的可能性。 – 2012-01-13 20:52:23

+0

然後,你可以做的是讓身體由兩個固定器組成,而不是將身體的其餘部分重新定位。它必須是一個瞬間的東西,而不是一個動畫的效果,我不確定它在物理方面的工作效果如何 - 我沒有測試就寫這個 - 但它是我能想到的唯一的一體解決方案。 – Andrey 2012-01-13 23:32:25

+0

是的,這就是我的,但我不能移動身體內的形狀,我很好奇,如果有可能對他們做任何轉換。 – 2012-01-13 23:52:50

0
- (void)scaleShape 
{ 
    b2CircleShape shape; 

    for (b2Fixture *f = self.yourb2Body->GetFixtureList(); f; f = f->GetNext()) 
    { 
     shape = *(b2CircleShape *)f->GetShape(); 

     self.yourb2Body->DestroyFixture(f); 
     shape.m_radius += 0.01; 
     self.yourFixture.shape = &shape; 
     self.yourFixture.isSensor = true; 
     self.yourb2Body->CreateFixture(&self.yourFixture); 
    }