我正在尝试使用SpriteSheet来运行动画。我的镜架尺寸分别为320x480,所以我能够在纹理图像上放置最多6帧。但是我的动画有时候帧数从50到200不等,所有都是320x480。 但是这些大量的帧无法添加到纹理图像上,因为大小限制为1024x1024。 有没有其他方法我可以尝试。我可以一个接一个地播放一个动画。它不会妨碍演奏。 拜托,我需要建议。 最好, Vaibhav Tekam。
答案 0 :(得分:2)
呃,你正在经历设备可以处理的东西!你必须重新考虑你想要实现的目标以及如何实现目标。让我解释一下。
每个具有32位颜色的1024x1024纹理需要4 MB内存。如果你想要一个由60个全屏精灵组成的精灵动画,你需要10个这样的纹理。这使得40 MB的内存。或者120 MB用于包含180个动画帧的大写场景。
请记住,iOS设备的128 MB RAM内存型号最多可以为您的应用程序提供约30 MB内存,并且在理想条件下。只用五个1024x1024纹理就会开始遇到内存问题。 256 MB设备仍然只有大约100 MB可用于您的应用程序。
因为它应该是动画,所以它也不是加载一个纹理的选项,并且在每第6个图像之后,删除该纹理并加载下一个纹理。将1024x1024纹理加载到内存大约需要1-3秒,具体取决于设备。在此期间,您的应用程序将是不负责任的。