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

C++/SDL Best method of infinite scrolling?

本文关键字:最佳 方法 滚动 无限 SDL C++      更新时间:2023-10-16

我正在制作一款2D单板滑雪游戏,我希望玩家能够无限骑行,直到他们摔倒3次。我已经有了产卵的地形,但我不知道滚动的最佳方式。

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

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

最好的是你想要的游戏。

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

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

其中0是屏幕的边缘,-是可移动空间和。's是不可移动的空间(向上移动应该足够慢,因为滚动屏幕显示玩家不会向上移动)

你需要释放屏幕外的对象,否则随着游戏的进行,你会遇到内存问题。

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

在这种情况下,我推荐一个静止的玩家,因为如果游戏持续很长时间,你可能会遇到麻烦,并且你开始接近你存储位置的类型的边缘