6

シーンに多くのレイヤーが含まれています(レイヤーには多くのスプライトが含まれています)。スケジュールとアクションを一時停止するにはどうすればよいですか。その後、再開できます。

4

3 に答える 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();再開します。

シマリスで体の物理を一時停止するには、次を追加します。

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

scheduleUpdate();

于 2015-04-23T16:54:27.617 に答える