0

我正在开发一款类似于游戏猴子开球的游戏。我有一个球在屏幕左侧的一个地方弹跳,根据球的位置,我在用户触摸时将 linearImpulse 应用于球,以便看起来球被踢了。但是当我施加冲动时会发生什么,球会超出屏幕范围。我不希望球超出水平屏幕边界,而它可以垂直离开屏幕。我尝试使用 CCFollow,但它并没有给游戏流程带来逼真的感觉。我试过这个教程,但帮助很大。我设法滚动背景,只剩下这一部分。

关于球不应该移出水平屏幕边界的任何想法..?但另一方面,在垂直边界的情况下,它可能会超出范围。

4

1 回答 1

0

如果您不使用物理,这是一个简单的边界检查。假设屏幕宽度为 320 点,这将使球水平保持在屏幕内:

CGPoint ballPos = ball.position;
ball.position.x = fmaxf(0, fminf(320, ballPos.x));
ball.position = ballPos;

更新:我注意到你提到了线性脉冲。所以你正在使用物理引擎。在这种情况下,请在两侧创建水平墙。请参阅 cocos2d Box2D 或 Chipmunk 模板如何用碰撞边框包围屏幕,然后在游戏中仅使用左侧和右侧边框。

于 2012-07-14T15:42:31.733 回答