Ho una scena contiene molti livelli (il livello contiene molti sprite), come posso mettere in pausa la pianificazione e le azioni, ma poi posso riprenderli.cocos2d-x come mettere in pausa le azioni e la pianificazione di un livello e quindi riprenderli
6
A
risposta
6
Usare le funzioni:
void CCNode::pauseSchedulerAndActions();
void CCNode::resumeSchedulerAndActions();
Se volete tutti i bambini del livello per mettere in pausa, è necessario un ciclo per fare fare questo.
CCArray* childs = this->getChildren();
CCObject* child;
CCARRAY_FOREACH(childs, child)
{
CCSprite *sprite = (CCSprite *)child;
child -> pauseSchedulerAndActions();
}
Se si desidera solo un bambino speciale per mettere in pausa: basta usare la funzione getChildByTag
per ottenere il bambino e mettere in pausa l'azione dello sprite.
Spero che sarà utile :)
0
pausa:
pauseSchedulerAndActions();
unscheduleAllSelectors();
curriculum:
resumeSchedulerAndActions();
scheduleUpdate();
4
In cocos2dx 3.2 Per mettere in pausa le azioni, aggiungere
Director::getInstance()->pause();
nel pulsante di pausa di callback. e Director::getInstance()->resume();
da riprendere.
Per mettere in pausa la fisica di un corpo in Chipmunk aggiungere,
for (auto nod :this->getChildren()) {
nod->getPhysicsBody()->setResting(true);
}
e
for (auto nod :this->getChildren()) {
nod->getPhysicsBody()->setResting(false);
}
en, grazie! Ma ci alcuni sprite sono in esecuzione azione, utilizzare il 'pauseSchedulerAndActions' non possono mettere in pausa questi folletti azione. –