【求解】CCDirector的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和过场动画还在继续的时候会非常有帮助。