2013-02-12 4 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]]; 
} 

를 다시 시작하는 기능을 writed했고 나는 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

+0

아이를 자기에 추가 할 때 z는 자식이 그려지는 순서입니다 (즉, z : 0을 가진 자식은 z : 5를 가진 자식 뒤에 그려집니다). 다른 모든 것보다 더 커서 그 위에 그려집니다. – bluestunt

+0

그리고 코드를 살펴 보겠습니다. – bluestunt