使用 Cocos2d 我需要设置一个精灵边界,这样它就不会离开屏幕,我该怎么做?

发布于 2024-12-01 17:16:20 字数 95 浏览 2 评论 0原文

我使用 cocos2d 创建一个游戏,我想给我的精灵设置一个边界,这样它就不会在 x 线上离开屏幕。我可以使用什么代码来做到这一点。我不希望精灵向相反方向弹回,我只想让它停止。

im using cocos2d to create a game and i want to set my sprite a boundary so that it cannot go off the screen on the line of x. What code can i use to do this. I dont want the sprite to be bounced back in the opposite direction i just want it to stop.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挖鼻大婶 2024-12-08 17:16:20

http://www.raywenderlich.com/475/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2d-tutorial-part-12 解释如何设定界限。

无耻地粘贴代码如下:

// 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;

或在边缘本身上,具体取决于您的移动精灵是否必须在其他东西上弹跳或不是。

http://www.raywenderlich.com/475/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2d-tutorial-part-12 explains how to set boundaries.

Shamelessly pasted code follows:

// 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);

The last line setAsEdge sets the edge :D

However, if you want no bouncing, you can eiter set your moving sprite to

spriteDef.restitution = 0f;

or d that on the edge itself, depending if your moving sprite has to bounce on other stuff or not.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文