0

すべての人生の終わりでゲームオーバーになるゲームを実装しました。そのため、この時点でシーンを一時停止し、Game Over (Done) というラベル、ポイント、およびゲームを再開できるボタンを実装する必要があります。今、ゲームが終了すると、ゲーム オーバー ラベルと新しい開始ゲームのオーバーレイができました。ゲームオーバーとポイントのあるビューでゲームを一時停止したい。

これは私のコードです:

-(void)gameOver:(int)value punteggio:(id)punti{
    if (value == 1) {
        // partita vinta
    } else if (value == 2) {
        if (life > 1) { // 1
            life = life - 1;
            for (CCSprite *spr in spriteLifeArray) {
                if (life == spr.tag) {
                    [self removeChild:spr cleanup:YES];
                }
            }
        } else { 
            //  partita persa
            Gameover = [CCLabelTTF labelWithString:@"Game Over!" fontName:@"Marker Felt" fontSize:34];
            [Gameover setColor:ccc3(255, 1, 1)];
            Gameover.position = ccp(size.width / 2, size.height / 2);
            [self addChild:Gameover];
            //blinking
            id action1 = [CCBlink actionWithDuration:0.3 blinks:5];
            [Gameover runAction: action1];
            [[CCDirector sharedDirector] pause];
        }
    }
}

どうすれば解決できますか?一時停止したシーンでこのボタンを使用してゲームを再開するにはどうすればよいですか? ありがとうございました

4

2 に答える 2

1

あなたはこのようにそれを行うことができます:

CCMenuItemLabelを使用して単純なCCMenuを作成します。

      CCMenuItemLabel *gameOver = [CCMenuItemLabel itemWithLabel:@"Game Over!" target:self selector:@selector(restart:)];
      CCMenu *menu = [CCMenu menuWithItems:gameOver, nil];
      [self addChild:menu z:(Something bigger than all others so that it shows up on top)];

次に、再起動方法で:

    -(void) restart:(id)sender{
          menu.visible = NO;
          //code to restart your game;
    }

お役に立てれば。

于 2013-02-13T05:24:45.360 に答える
1

関数の再起動を使用して、GameOVER と呼ばれるノードの作成を解決しました。GameOver の実装では、再起動する関数を書きました

-(void) restart {    
    [[CCDirector sharedDirector] replaceScene:[HelloWorldLayer node]];
}

この関数を GameOver レイヤーのラベルにリンクしました。

CCMenuItemLabel *back = [CCMenuItemLabel itemWithLabel:label2  target:self selector:@selector(restart)];

lives==0最後に、このコードの場合、メインレイヤーに接続しました

[[CCDirector sharedDirector] replaceScene:[GameOver node]];

そして、すべて正常に動作します!:)

于 2013-02-14T12:05:11.363 に答える