box2d多个夹具定位在单体内(物理编辑器)

时间:2013-10-31 00:04:42

标签: cocos2d-iphone box2d

我正在尝试使用Physics Editor中的形状定义动态创建数字的形状。我有0-9的每个数字的单独形状定义。

我使用随机数(例如42)创建一个CCLabelBMFont,并为该标签添加一个正文。然后我循环遍历标签的每个子精灵,并为该数字添加相应的形状定义。添加每个数字的形状定义,但是在主体内部居中(即,堆叠在彼此的顶部)。是否有可能将形状(多边形形状)重新定位在该体内?

我试图通过在没有运气的情况下重新设置m_centroid来重新设置每个形状的位置(在“GB2ShapeCache.m”中):

-(void) addFixturesToBody:(b2Body*)body forShapeName:(NSString*)shape withXOffset:(float32)xOff{
  BodyDef *so = [shapeObjects_ objectForKey:shape];
  assert(so);

  FixtureDef *fix = so->fixtures;
  while(fix)
  {
    [...]
    b2PolygonShape* polygon = (b2PolygonShape*) fix->fixture.shape;
    polygon->m_centroid.Set(polygon->m_centroid.x + xOff, polygon->m_centroid.y);
}

0 个答案:

没有答案