C++ C++/SDL无限滚动的最佳方法?

C++ C++/SDL无限滚动的最佳方法?,c++,scroll,sdl,infinite,C++,Scroll,Sdl,Infinite,我正在做一个2D滑雪板游戏,我希望玩家能够无限地骑,直到他们撞车3次。我已经有地形生成,但我不知道最好的滚动方式 现在没有滚动,一旦玩家到达屏幕底部,他会弹出到顶部,新的随机地形就会生成 让背景(包括所有障碍物)从屏幕底部滚动到顶部,让玩家基本上停留在同一位置,这样会更好吗?或者玩家应该永远向下滚动,因为新的地形块会生成?最好的是你希望你的游戏是什么样子 我会选择一个连续滚动的环境,在这个环境中,玩家可以稍微向前向后移动(同时以恒定的速度滚动) 当0是屏幕边缘时,-是可移动的空间,'s不是可移动

我正在做一个2D滑雪板游戏,我希望玩家能够无限地骑,直到他们撞车3次。我已经有地形生成,但我不知道最好的滚动方式

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


让背景(包括所有障碍物)从屏幕底部滚动到顶部,让玩家基本上停留在同一位置,这样会更好吗?或者玩家应该永远向下滚动,因为新的地形块会生成?

最好的是你希望你的游戏是什么样子

我会选择一个连续滚动的环境,在这个环境中,玩家可以稍微向前向后移动(同时以恒定的速度滚动)

当0是屏幕边缘时,-是可移动的空间,'s不是可移动的空间(上升速度应足够慢,以便在滚动屏幕上,播放器不会上坡)

您需要释放屏幕外的对象,否则在游戏进行过程中会遇到内存问题

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

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

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