0

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

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

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

4

1 回答 1

0

我正要在Math.StackExchange.com上发布这个问题,但我发现它已经被问到并且已经回答了。甚至还有一个指向CSS Sprites的CodeProject 文章的链接。

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

于 2013-01-17T21:35:19.933 回答