在地图册中拟合​​图像的最佳方法?

时间:2013-01-17 19:56:33

标签: android optimization andengine atlassprites

Android的AndEngine框架有一种方法可以将纹理加载到地图集中。加载纹理的地图集方式对我来说是新的,所以我调查了它。从我在论坛周围阅读的内容来看,地图集是一个大的矩形图像数据区域,其宽度和高度必须是2的幂(尽管它们不必相等,即你可以拥有如果你想要512x1024)。纹理被加载到该区域,这用于在应用程序的生命周期内将它们全部保存在内存中。它会分配所有空间,即使你没有使用它。

考虑到这一点,我可以使用什么过程来优化地将任意数量的图形放入相同的图集中?我不打算在应用程序中在运行时执行此操作,但是一旦我的游戏的所有图形都已创建,我希望我可以通过一些算法运行图像及其大小来确定制作图集的大小并且应该在其中加载每个图像。一旦我知道了这些事情,我就可以为我的游戏硬编码。

这不是AndEngine甚至Android特定的问题。我确信还有其他面向图形的框架以这种方式加载纹理。

1 个答案:

答案 0 :(得分:0)

我准在Math.StackExchange.com上发布问题,但我发现它已被问及already answered。甚至还有CodeProject article的链接为CSS Sprites执行此操作。

编辑:从长远来看,我最终做的是使用名为TexturePacker的程序。它不仅包装了图像,还生成了在AndEngine(以及其他支持的平台)中使用的文件,并使整个过程更容易。