{
b2BodyDef bodyDef;
bodyDef.type = b2_staticBody;
bodyDef.position.Set(location.x / PTM_RATIO, location.y / PTM_RATIO);
bodyDef.userData = pSprite;
//bodyDef.userData = nullptr;
b2Body* body = _world->CreateBody(&bodyDef);
body->SetLinearVelocity(b2Vec2(1, 0));
b2PolygonShape poly;
b2Vec2 vertices[7];
vertices[0].Set(0, 0);
vertices[1].Set(1, 0);
vertices[2].Set(1, 1);
vertices[3].Set(0.75f, 1);
vertices[4].Set(0.5f, 1.5f);
vertices[5].Set(0.25f, 1);
vertices[6].Set(0, 1);
poly.Set(vertices, 7);
b2FixtureDef fixtureDef;
fixtureDef.shape = &poly;
fixtureDef.density = 1.0f;
fixtureDef.friction = 0.5f;
fixtureDef.restitution = 0.0f;
body->CreateFixture(&fixtureDef);
}
я делаю тело box2d со значением вершины.
в коде форма моей вершины похожа на верхнюю картинку.
(используется b2ChainShape, так что внутреннее пусто)
но это форма тела, к которой он относится.
Почему возникают эти различия?
Не могу ли я решитьэта проблема?