我是游戏开发的新手,想开发手机游戏。我试图在libgdx中制作一个复杂的动画,它包含近300张图像(每张655×1160,大小为42MB)。 textureAtlas图像的大小或者拍摄的图片数量是否有限制?如果我一次渲染7个动画会有问题,而其中2个和这个一样复杂(激活的技能),但其他只是简单的角色动作?
答案 0 :(得分:2)
地图集可以和RAM一样大。你有更多的RAM,你可以加载更大的地图集。
在Android上,您可能无法加载42 MB大图像,因为它会立即进行大量分配。关于这个问题,Stack Overflow上有多篇帖子。你只需要尝试加载它,看看会发生什么。如果游戏因OutOfMemoryException崩溃,则必须将其缩小。
因为Android是一个硬件变化很大的平台(有些设备总共有512 MB,而其他设备有6 GB),所以你可以在平台的基础上加载“硬限制”。这取决于什么设备和可用RAM(可用RAM)
TextureAtlas实际包含的内容(30幅图像与2幅海量图像的复杂动画)并不重要。只要您加载它(并设法在没有游戏崩溃的情况下将其加入内存),渲染它就不会有问题。帧速率可能会下降(取决于硬件和实际渲染的数量),但除非您一次渲染数千张图像,否则它应该不是问题
在清单中添加android:largeHeap="true"
也很有帮助。