我正在使用 cocos2d 创建一个游戏,我想为我的精灵设置一个边界,这样它就不会在 x 线上离开屏幕。我可以用什么代码来做到这一点。我不希望精灵向相反的方向反弹,我只是希望它停止。
问问题
1007 次
1 回答
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 在边缘本身,这取决于您的移动精灵是否必须在其他东西上反弹。
于 2011-08-26T14:02:12.023 回答