在平台上不重复背景

我不需要重复一些平台游戏的背景。 我找不到任何实现的描述,我开发了algorithm,但我不确定是否正确。

我无法加载每个级别的大纹理,因为许多设备不支持超过2048×2048像素的纹理,并且我的级别至less在一侧上需要4096像素。 所以我不得不把大的纹理切成小块(512×512,1024×1024),使用单独的线程和渲染来加载它们。 图片显示:

在这里输入图像描述

绿色的矩形是屏幕(例如800×480显示的Nexus S)

问题:

  1. 在2层的情况下,我必须保持记忆4大纹理。
  2. 我必须不断地加载和卸载大的纹理。
  3. 额外的线程。

如果这不是问题,那么确定:)但似乎我做错了什么。

我认为你在这里寻找的是一个经典的瓷砖映射的例子,它允许你创建关卡而不消耗大量的资源。 这就是马里奥兄弟和其他无数的横向滚动游戏一起编写的。 您只需使用地图编辑器(例如Tiled (或家庭式酿造解决scheme))从分块纹理devise您的关卡,例如:

在这里输入图像描述

(感谢OpenGameArt的graphics!)。

背景可以以类似的方式完成,只需要在单独的图层上滚动较慢(请参阅: 视差 ),或者只需从瓦片上撕下部分即可。 说,那些鸟……你可以把它们随机放在天空或云层。 但是,如果您的关卡每次都是相同的,那么最好在一个单独的视差层上构建它们。