0

我正在尝试使用物理编辑器中的形状定义动态创建数字的形状。我对 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);
}
4

0 回答 0