2012-06-18 50 views
1

我是Box2d的新手,剛剛瞭解到它不支持凹多邊形。我已閱讀以解決此問題,我應該使用2(或更多)凸多邊形並將它們應用於相同的形狀。如何在Box2d中設置多個凸多邊形?

不幸的是,我已經找了一個小時爲例如如何做到這一點,但無法找到一個工程。我的繼承人代碼:

b2PolygonShape spriteShape;  
int num = 6; 
     b2Vec2 verts[] = { 
      b2Vec2(-32.5f/PTM_RATIO, 52.0f/PTM_RATIO), 
      b2Vec2(-60.0f/PTM_RATIO, 26.5f/PTM_RATIO), 
      b2Vec2(-58.5f/PTM_RATIO, 17.5f/PTM_RATIO), 
      b2Vec2(-34.5f/PTM_RATIO, 7.5f/PTM_RATIO), 
      b2Vec2(-11.0f/PTM_RATIO, 25.0f/PTM_RATIO), 
      b2Vec2(-17.5f/PTM_RATIO, 47.5f/PTM_RATIO) 
     }; 
     spriteShape.Set(verts, num); 

     int num2 = 6; 
     b2Vec2 verts2[] = { 
      b2Vec2(-26.5f/PTM_RATIO, 1.0f/PTM_RATIO), 
      b2Vec2(-34.0f/PTM_RATIO, -13.5f/PTM_RATIO), 
      b2Vec2(-26.5f/PTM_RATIO, -32.0f/PTM_RATIO), 
      b2Vec2(0.5f/PTM_RATIO, -42.5f/PTM_RATIO), 
      b2Vec2(49.0f/PTM_RATIO, -40.5f/PTM_RATIO), 
      b2Vec2(49.5f/PTM_RATIO, -14.0f/PTM_RATIO) 
     }; 
     spriteShape.Set(verts2, num2); 

這只是簡單地重寫,而不是將它們組合與第二第一多邊形。我怎樣才能將它們結合起來?

+0

你不「把它們應用到相同的形狀」,你做兩個獨立的燈具。 – iforce2d

回答