我有一个场景包含很多图层(图层包含很多精灵),如何暂停计划和动作,但我可以恢复它们。
答案 0 :(得分:6)
使用功能:
void CCNode::pauseSchedulerAndActions();
void CCNode::resumeSchedulerAndActions();
如果你想让所有图层的孩子都暂停,你需要一个循环来做这件事。
CCArray* childs = this->getChildren();
CCObject* child;
CCARRAY_FOREACH(childs, child)
{
CCSprite *sprite = (CCSprite *)child;
child -> pauseSchedulerAndActions();
}
如果您只想让一个特殊的孩子暂停;只需使用函数getChildByTag
来获取孩子并暂停精灵的行动。
希望它会有所帮助:)
答案 1 :(得分:4)
在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);
}
答案 2 :(得分:0)
暂停:强>
pauseSchedulerAndActions();
unscheduleAllSelectors();
<强>履历:强>
resumeSchedulerAndActions();
scheduleUpdate();