即时通讯使用cocos2d创建一个游戏,我想设置我的精灵一个边界,以便它不能离开x线上的屏幕。我可以使用什么代码来执行此操作。我不希望精灵在相反的方向上反弹,我只想让它停下来。
答案 0 :(得分:0)
无耻粘贴的代码如下:
// Create edges around the entire screen
b2BodyDef groundBodyDef;
groundBodyDef.position.Set(0,0);
_groundBody = _world->CreateBody(&groundBodyDef);
b2PolygonShape groundBox;
b2FixtureDef groundBoxDef;
groundBoxDef.shape = &groundBox;
groundBox.SetAsEdge(b2Vec2(0,0), b2Vec2(winSize.width/PTM_RATIO, 0));
_bottomFixture = _groundBody->CreateFixture(&groundBoxDef);
最后一行setAsEdge设置边缘:D
但是,如果你不想弹跳,你可以将你的移动精灵设置为
spriteDef.restitution = 0f;
或d在边缘本身,取决于你的移动精灵是否必须在其他东西上反弹。