我正在尝试使用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);
}