我正在开发一款 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);
我意识到我可以使用矩形作为地面,但由于我的玩家精灵只与图像的顶部发生碰撞,我宁愿使用边缘形状。