0

私はこれを持っています:

-(void)fadeBackground
{
    ccColor4B color = {0,0,0,255};
    CCLayerColor *fadeLayer = [CCLayerColor layerWithColor:color];
    [self addChild:fadeLayer z:7];
    fadeLayer.opacity = 0;


    id fade   = [CCFadeTo actionWithDuration:1.0f opacity:200];//200 for light blur
    id calBlk = [CCCallBlock actionWithBlock:^{
        //show pause screen buttons here
        //[self showPauseMenu];
    }];
    id fadeBack = [CCFadeTo actionWithDuration:2.0f opacity:0];

    id sequen = [CCSequence actions:fade, calBlk, fadeBack, nil];

    [fadeLayer runAction:sequen];

}

フェードインが発生している間にアクションを停止し、フェードバックが発生したときにアクションを再開するにはどうすればよいですか?

4

2 に答える 2

2

[[CCDirector sharedDirector] pause];& [[CCDirector sharedDirector] resume];は、すべてのスプライト/レイヤーまたはその他の cocos2d ノード全体でスケジューラとアクションを一時停止および再開します。

特定の CCLayer とそれに含まれる子を一時停止/再開したい場合は、

////for pausing
[myLayer pauseSchedulerAndActions];
for(CCNode *child in myLayer.children){
[child pauseSchedulerAndActions];
}

///for resuming
[myLayer resumeSchedulerAndActions];
for(CCNode *child in myLayer.children){
[child resumeSchedulerAndActions];
}
于 2013-06-22T06:38:07.753 に答える
1

一時停止するには、この呼び出しを使用できます。ゲーム内の各メニューに対して同じ呼び出しを行う必要があります。

   [self  pauseSchedulerAndActions];
   [menu  pauseSchedulerAndActions];

再開します:

  [self resumeSchedulerAndActions];
  [menu  pauseSchedulerAndActions];
于 2013-05-18T04:51:23.823 に答える