我在舞台上有很多静态物体 - 障碍物。我按如下方式添加它们:
b2BodyDef groundBodyDef;
groundBodyDef.position.Set(i/PTM_RATIO, j/PTM_RATIO);
b2Body *groundBody = world->CreateBody(&groundBodyDef);
b2PolygonShape groundEdge;
b2FixtureDef boxShapeDef;
boxShapeDef.shape = &groundEdge;
groundEdge.SetAsBox(64/PTM_RATIO, 64/PTM_RATIO);
groundBody->CreateFixture(&boxShapeDef);
事实证明,2000年左右这样的对象最终会开始减慢应用程序的速度。 如何为Coliseum添加一个简单的方形女友静态对象?
答案 0 :(得分:0)
您应该删除或重复使用离开屏幕的实体。例如,在侧滚动游戏中,当障碍物离开屏幕边缘时,它很可能不会返回,因此将其移除是安全的(因此在检查碰撞时box2d不会将其考虑在内,并且你也赢了;必须在你的方法中考虑它们或重复使用它们 - 你可以改变这种身体的位置,这样它就会再次出现在右边。
无论哪种方式,你都不应该创造很多身体,因为这是一种肯定而且快速的方法来降低你的表现。