iphone - 在cocos2d中仅加载大图像的可见区域

标签 iphone ios cocos2d-iphone image-loading

我们使用 cocos2d 在 iPhone/iPad 应用程序中显示由三个不同视差层组成的大图像。用户将能够平移这个大图像。

这些图像的宽度约为 13000 像素,因此我们担心内存使用情况。 理想情况下,我们希望将图像网格化并根据当前可见的内容加载其子部分。

cocos2d 是否包含任何可以帮助我们解决此问题的内容? 我们已经研究过使用平铺 map (我们有一个在 CCTMXTiledMap 上运行的原型(prototype)),但看起来这实际上并不是平铺 map 的一个很好的应用,因为它们通常用于由以下内容组成的大型 map /图像:重复较小的图像;而我们的大图像中的每个图 block 都是独一无二的。

有人对实现这一目标的最佳方法有什么好主意吗?

最佳答案

我记得在博客上看到过一篇文章,其中一位 iPhone 程序员在屏幕滚动时在后台线程上加载图像。他说只要滚动不是太快,实现平滑滚动是没有问题的。

您基本上根据屏幕滚动的方向加载图像部分,并取消分配离开屏幕边框的图像。因此,屏幕本身以及屏幕边缘周围的边框可充当缓冲区,以防玩家来回移动(向左或向右等)。

我希望能找到链接,但搜索了 30 分钟后我放弃了。我确实看过他的视频,而且滚动非常流畅。

关于iphone - 在cocos2d中仅加载大图像的可见区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9797907/

相关文章:

iphone - 以编程方式在工具栏项目按钮上添加图像

iphone - 从 UIView 创建 UIImage 时出现非空无效上下文错误

iphone - NSFetchedResultsController 委托(delegate)和后台驱动的更新

ios - 具有可编辑单元格图形的 UITableView

ios - Xcode 4.2 + armv6 + release = 错误?

javascript - cocos2d-iphone jsb 和 cocos2d-html5 兼容性 : ctor, init, AssociateWithNative

cocos2d-iphone - SimpleAudioEngine 文件路径崩溃

ios - 将 UIScrollView 添加到 CCSprite

iphone - 如何将图像名称与数组分开

ios - swift 中的 3D 立方体转换 View