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