在AppDelegate.cpp中
用vs建的工程调用
CCDirector::sharedDirector()->stopAnimation();
用create-android-project 调用
CCDirector::sharedDirector()->pause();
stopAnimation和pause有什么联系吗?
在AppDelegate.cpp中
用vs建的工程调用
CCDirector::sharedDirector()->stopAnimation();
用create-android-project 调用
CCDirector::sharedDirector()->pause();
stopAnimation和pause有什么联系吗?
pause中调用了setAnimationInterval
而setAnimationInterval中调用了stopAnimation
m_bInvalid做是什么的?
非常感谢你的回答.
void CCDisplayLinkDirector::mainLoop(void)
{
if (m_bPurgeDirecotorInNextLoop)
{
m_bPurgeDirecotorInNextLoop = false;
purgeDirector();
}
else if (! m_bInvalid)
{
drawScene();
// release the objects
CCPoolManager::sharedPoolManager()->pop();
}
}
如果m_bInvalid是false,就不会进入整个drawScene的过程。Scheduler什么的都是在drawScene里面更新的。
pause的时候还是会绘制,但是Scheduler不会update了,绘制的频率也降到很低(大约一秒钟4次)。
stopAnimation的时候则是连绘制都不进行了,什么都做不了。哦,以上我事参考2.0的代码,之前版本不是很确定,大概思路应该差不多。
个人觉得,如果能够给pause加上flag或者mask之类的掩码就更好了,有些时候需要做游戏场景暂停,但是UI和过场动画还在继续的时候会非常有帮助。