我有一个场景包含许多层(每个层都包含许多精灵),如何暂停计时器和动作,但之后又可以恢复它们。
我有一个场景包含许多层(每个层都包含许多精灵),如何暂停计时器和动作,但之后又可以恢复它们。
使用函数:
void CCNode::pauseSchedulerAndActions();
void CCNode::resumeSchedulerAndActions();
CCArray* childs = this->getChildren();
CCObject* child;
CCARRAY_FOREACH(childs, child)
{
CCSprite *sprite = (CCSprite *)child;
child -> pauseSchedulerAndActions();
}
getChildByTag
获取该子节点并暂停精灵的动作。Director::getInstance()->pause();
,要恢复请添加Director::getInstance()->resume();
。for (auto nod :this->getChildren()) {
nod->getPhysicsBody()->setResting(true);
}
for (auto nod :this->getChildren()) {
nod->getPhysicsBody()->setResting(false);
}
暂停:
pauseSchedulerAndActions();
unscheduleAllSelectors();
恢复:
resumeSchedulerAndActions();
scheduleUpdate();