我是游戏开发新手,想开发一款手机游戏。我正在尝试用libgdx制作一个复杂的动画,它由近300个图像组成(每个图像655×1160个,总共42MB)。有没有一个限制,在多大的纹理图像可以或它采取多少照片?如果我一次渲染7个动画,其中2个动画和这个一样复杂(激活技能),但其他只是简单的角色移动,会不会有问题?
最佳答案
地图集可以和你的内存一样大。内存越多,可以加载的地图集就越大。
在android上,加载42mb的大图像可能会有问题,因为一次分配的图像太多了。关于这个问题,已经有多篇关于堆栈溢出的文章。你只要试着装进去看看会发生什么。如果游戏因OutOfMemoryException而崩溃,则必须将其缩小。
因为android是一个硬件变化很大的平台(一些设备的ram总量为512mb,而其他设备的ram总量为6gb),所以在平台上可以加载的内容没有“硬限制”。这取决于可用的设备和RAM数量(免费RAM)
纹理图实际上包含的内容(30个图像的复杂动画与2个大图像的复杂动画)并不重要。只要你加载它(并设法让它进入内存而不致于游戏崩溃),渲染它就不会有问题。帧速率可能会下降(取决于硬件和实际渲染的量),但除非同时渲染数千个图像,否则这应该不是问题。
在清单中添加android:largeHeap="true"
也很有帮助。