2013-02-12 112 views
0

我已经实现了一款游戏,在游戏结束时,游戏结束。 因此,我必须暂停此时的场景,然后我必须实现游戏结束(完成)标签,点和允许重新启动游戏的按钮。现在,当游戏结束时,我已经在标签和新开始的游戏中覆盖了游戏!我想在游戏结束和分数的视图中暂停游戏。游戏结束并重新启动按钮Cocos2d

这是我的代码:

-(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]; 
     } 
    } 
} 

我该如何解决?我怎样才能让这个按钮在暂停的场景中重新开始游戏? 谢谢

回答

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]]; 

而且一切正常! :)

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; 
    } 

希望这有助于。

+0

谢谢...更大的手段,例如与屏幕大小的background.png?我可以将我的代码发送给您,详细说明它的工作原理吗?感谢您的帮助! :) – TheInterestedOne 2013-02-13 17:03:40

+0

当你将一个孩子添加到自己时,z是孩子被绘制的顺序(即z:0的孩子被绘制在z:5的孩子的后面),所以你希望z为你游戏结束标签比所有其他都大,因此它被绘制在顶部。 – bluestunt 2013-02-13 21:08:35

+0

我会很高兴看到你的代码。 – bluestunt 2013-02-13 21:09:27