我正在开发一款类似于游戏猴子开球的游戏。我有一个球在屏幕左侧的一个地方弹跳,并且根据球的位置,我在用户触摸时将linearImpulse应用于球,这样球似乎被踢了。 但是当我施加冲动时球会离开屏幕界限时会发生什么。我不希望球离开水平屏幕边界,而它可以垂直地离开屏幕。我尝试使用CCFollow,但它没有给游戏流程带来逼真的感觉。 我尝试了 THIS教程,但是帮助很多。我设法滚动背景,只剩下这部分了。
关于球如何不会移出水平屏幕边界的任何想法..?但是在另一方面,如果是垂直边界,它可以超出范围。
答案 0 :(得分:0)
如果您不使用物理,那么这是一个简单的边界检查。假设屏幕宽度为320点,这将使球在屏幕内保持水平:
CGPoint ballPos = ball.position;
ball.position.x = fmaxf(0, fminf(320, ballPos.x));
ball.position = ballPos;
更新:我注意到你提到了线性冲动。所以你正在使用物理引擎。在这种情况下,在两侧创建一个水平墙。请参阅cocos2d Box2D或Chipmunk模板,了解如何用碰撞边框封闭屏幕,然后在游戏中仅使用左侧和右侧边框。