Я работаю над игрой для iPhone, а земля представляет собой длинный повторяющийся прямоугольный спрайтовый объект, который простирается примерно на 30 пикселей над нижней частью экрана.Я пытаюсь выровнять форму моего края земли на 30 пикселей, чтобы, когда спрайт игрока приземлился на землю от прыжка, он приземлился поверх изображения земли.Когда я попытался добавить следующий код, это не сработало:
b2BodyDef groundBodyDef;
groundBodyDef.position.Set(0, 30/PTM_RATIO);
b2Body *groundBody=world->CreateBody(&groundBodyDef);
b2EdgeShape groundLine;
groundLine.Set(b2Vec2(0, 30/PTM_RATIO), b2Vec2(screenSize.width/PTM_RATIO, 30/PTM_RATIO));
groundBody->CreateFixture(&groundLine, 0);
Я понял, что мог бы использовать прямоугольную форму для земли, но мой спрайт игрока сталкивался только с верхней частью изображения.Я бы предпочел сойти с формы края.