我有一个场景包含很多层(层包含很多精灵),我怎样才能暂停计划和动作,但我可以恢复它们。
问问题
7806 次
3 回答
6
使用功能:
void CCNode::pauseSchedulerAndActions();
void CCNode::resumeSchedulerAndActions();
如果您希望所有图层的子图层都暂停,则需要一个循环来执行此操作。
CCArray* childs = this->getChildren();
CCObject* child;
CCARRAY_FOREACH(childs, child)
{
CCSprite *sprite = (CCSprite *)child;
child -> pauseSchedulerAndActions();
}
如果你只是想让一个特殊的孩子暂停;只需使用函数getChildByTag
来获取孩子并暂停精灵的动作。
希望它会有所帮助:)
于 2012-12-18T02:51:25.673 回答
5
在 cocos2dx 3.2 对于暂停动作,添加
Director::getInstance()->pause();
在暂停按钮回调中。并Director::getInstance()->resume();
恢复。
为了在 Chipmunk 中暂停身体的物理特性,添加,
for (auto nod :this->getChildren()) {
nod->getPhysicsBody()->setResting(true);
}
和
for (auto nod :this->getChildren()) {
nod->getPhysicsBody()->setResting(false);
}
于 2015-04-28T03:57:21.143 回答
0
暂停:
pauseSchedulerAndActions();
unscheduleAllSelectors();
恢复:
resumeSchedulerAndActions();
日程更新();
于 2015-04-23T16:54:27.617 回答