2013-12-07 21 views
-1

我正在制作2D单板滑雪游戏,我希望玩家能够无限次地骑行,直到他们坠毁3次。我已经有了地形产生,但我不知道滚动的最佳方式。C++/SDL无限滚动的最佳方法?

现在没有滚动,一旦玩家到达屏幕底部,他会弹回到顶部,并随机生成新的地形。

将背景(包括所有障碍物)从屏幕底部滚动到屏幕顶部以及玩家基本停留在同一位置会更好吗?还是应该让玩家永远向下滚动,因为大块新地形会产生?

回答

0

最好的就是你想要你的游戏。

我会去一个持续滚动的环境,玩家可以稍微向后移动(以恒定速率滚动)。

000000 
0....0 
0----0 
0----0 
0....0 
000000 

,其中0的是屏幕的边缘-'s是可移动的空间和。的不动空间(往上走应该是足够的,与滚动屏幕,玩家是不是滞销上坡)

您将需要释放出屏幕外的物体,否则随着游戏进行,您将遇到内存问题。

至于什么应该滚动。这真的没关系。如果地面移动并且玩家静止不动,或者玩家和相机在静止的背景上移动:用户总是看到一个滑雪者从山上滑下来的人。这是创造这一点的错觉。

在这种情况下,我会推荐一个固定的玩家,因为如果游戏持续很长时间,您可能会遇到麻烦,并开始走到您存储位置类型的边缘。(当然除非您使用包裹的坐标系)