2012-12-18 6 views

Antwort

6

Funktionen verwenden:

void CCNode::pauseSchedulerAndActions(); 
void CCNode::resumeSchedulerAndActions(); 

Wenn Sie die Kinder alle Schicht wollen anhalten, müssen Sie eine Schleife, dies zu tun.

CCArray* childs = this->getChildren(); 
CCObject* child; 
CCARRAY_FOREACH(childs, child) 
{ 
    CCSprite *sprite = (CCSprite *)child; 
    child -> pauseSchedulerAndActions(); 
} 

Wenn Sie nur ein besonderes Kind anhalten mögen, nur Funktion getChildByTag das Kind zu bekommen und die Sprites Aktion unterbrechen.

Hoffe, dass es hilfreich :) sein

+0

en, danke! Aber es gibt einige Sprites Aktion ausführen, verwenden Sie die 'pauseSchedulerAndActions' dieses Sprites nicht pausieren Aktion. –

0

Pause:

pauseSchedulerAndActions();

unplanedAllSelectors();

resume:

resumeSchedulerAndActions();

scheduleUpdate();

4

In cocos2dx 3.2 Für Aktionen pausieren, fügen

Director::getInstance()->pause(); in Callback-Pause-Taste. und Director::getInstance()->resume(); um fortzufahren.

Für Physik eines Körpers in Chipmunk Pause hinzuzufügen,

for (auto nod :this->getChildren()) { 

nod->getPhysicsBody()->setResting(true); 
} 

und

for (auto nod :this->getChildren()) { 

nod->getPhysicsBody()->setResting(false); 
} 
Verwandte Themen