2012-12-18 6 views

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

en, grazie! Ma ci alcuni sprite sono in esecuzione azione, utilizzare il 'pauseSchedulerAndActions' non possono mettere in pausa questi folletti azione. –

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); 
}