一个大的spritesheet vs许多较小的spritesheet?

我有我的2D角色animation存储在spritesheets。 我有每个animation个人精灵表。 例如,如果我的角色有空闲,运行和跳转的animation,我有3个不同的精灵画面。

这是管理2Danimation的好方法,还是把所有的animation存储在一个大的Spritesheet中更好? 我注意到,许多老游戏animation都存储在一个大的spritesheet中 – 这是最好的方法吗?

没有“最好”的方法。 在代码复杂性,管理数据集,性能等方面,最适合您的程序的方式很多,只有您可以回答这些问题。 如果你目前的工作在你的目标平台上运行的很好,那么就可以。

说了这么多,你应该考虑为什么精灵表存在的原因。 其目的是解决与大量纹理变化相关的性能问题; 通过将许多精灵包装成单个纹理,而不是为每个精灵使用单独的纹理,我们可以减less纹理变化的次数,并(希望)提高性能。

从那里,应该很明显,使用许多小精灵表是从这退后一步,每个精灵有一个单独的纹理。 但是,您需要平衡硬件最大纹理尺寸的限制,以及在单个大型精灵表中可能存在大量未使用的空间。