我有一个cocos2d
游戏,它有一个加载场景,我们加载了一堆资产。游戏以启动画面开始,然后启动加载场景。加载场景从加载背景开始,因此用户在加载资产时会看到加载场景背景。
CCSprite::spriteWithFile:
我通过调用并传递文件路径来加载加载场景背景:loadingbackground.pvr.ccz
它似乎在不同设备上的工作方式不同:
- 在 iphone (3gs) 模拟器上,我看到了预期的加载场景。
- 在 iphone 视网膜模拟器上,我看不到加载场景(还没有很多资产,所以可能很快就会发生),它直接进入主菜单场景。
- 在ipad 3设备上,闪屏出现,然后黑屏半秒,然后出现主菜单场景。
我想看看我能做些什么来避免 iPad 3 上出现黑屏。我怀疑这是因为加载加载背景所花费的时间。
我尝试了以下优化(主要基于@Steffen关于内存优化的博客文章):
- 将加载背景(最初为 2.3 MB RGB8 png 文件)单独移动到 pvr.ccz spritesheet 中,将其大小减小到 1.8 MB。
- 使用后不久从纹理中删除了图像。
我仍然在 iPad 3 上看到黑屏。有什么建议吗?
更新:发现问题 - 我有一些代码在其中覆盖OnEnter
并调用[[CCDirector sharedDirector]replaceScene]
它,并且还从后台线程调用相同的代码。删除了 OnEnter 重载,它工作时没有闪烁。
谢谢