我有一个cocos2d
游戏,它有一个加载场景,我们加载了一堆资产。游戏以启动画面开始,然后启动加载场景。加载场景首先加载背景,以便用户在加载资源时看到加载场景背景。
我通过调用CCSprite::spriteWithFile:
加载加载场景背景并传递文件路径:loadingbackground.pvr.ccz
它似乎在不同设备上的工作方式不同:
我想看看我能做些什么来避免在iPad 3上出现黑屏。我怀疑这是因为加载加载背景所花费的时间。
我尝试了以下优化(主要基于@ Steffen的blog post on memory optimization):
我仍然在iPad 3上看到黑屏。有什么建议吗?
更新:发现问题 - 我有一些代码,其中我覆盖OnEnter
并在其中调用[[CCDirector sharedDirector]replaceScene]
,并从后台线程调用相同的代码。删除了OnEnter重载,它没有闪烁。
由于
答案 0 :(得分:1)
忽略模拟器中发生的任何事情。这是不相关的,专注于设备。
当加载场景初始化并添加加载场景的背景时,请确保在更新方法中安排更新并加载资源。否则,如果您在init中加载资源,则不会绘制背景,因为您在cocos2d重绘屏幕之前加载了所有资源。
如果仍然失败,只需将访问消息发送到后台精灵,后跟[[CCDirector sharedDirector] drawScene]。这会强制重绘场景。
答案 1 :(得分:1)
这是cocos2d-iphone还是cocos2d-x?确保标签是正确的:)
我认为你指的是启动闪烁,有几种方法可以避免这种情况。 首先要确保你正确地为iOS 6和iOS 5及更低版本处理rootViewController,每个都有一些变化。
你可以在这里找到一点参考: http://www.cocos2d-iphone.org/forum/topic/34471
第二件事你需要知道模拟器的行为不稳定,你应该总是依靠真实设备进行测试,但你很可能仍然会遇到闪烁问题。
很抱歉,我没有提供示例代码,但您没有提供足够的信息来了解这里的真正问题。