2014-02-27 4 views
0

저는 IBAction의 - 시작 게임과 내가하고있는 IOS 게임의 Replay를 가지고 있습니다. ViewDidLoad로드가 많이 숨겨져 있습니다. 시작 게임은 ball.hidden = NO;과 다른 것들을 보여줄뿐 아니라 NSTimer을 시작하고, 다운 모션 등을합니다. 사용자가 게임에서 사망하면 gameoverscreen.hidden = NO;과 함께 몇 개의 버튼이 있습니다. 나는 새로운 콘센트를 만들었던 재생 버튼을 추가했다. 나는 IBAction 시작을 가지고 다시 시도 IBAction에 동일한 코드를 재 작성했지만 자동으로 다시 게임 오버 화면으로 돌아갑니다. 다시 을 다시 쓰려고했지만 IBAction 재생했습니다.하지만 여전히 해결됩니다. 이 갈등이 어떻게 발생합니까? 왜 이런 일이 벌어지는 지에 대한 이유. 화면을 다시로드 할 수있는 방법이 있습니까? 즉, 게임 오버 화면에서 Replay를 클릭하면 내 화면을 다시로드하도록 작성할 수있는 코드가 있습니까?왜이 IBAction이 작동하지 않습니까 ?? iOS 게임

-(IBAction)startGame:(id)sender 
{ 
    start.hidden = YES; //hides button 
    stimage.hidden = YES; //hides image 
    upMovement = 4; 
    movement = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(moving) userInfo:nil repeats:YES]; 
    //when we start game, start timer to run method every 0.05 seconds 

    platform1.hidden = NO; 
    platform2.hidden = NO; 
    ball1.hidden = NO; 
    ball2.hidden = NO; 

    advertisement.hidden = YES; 


    //1 
    RandomPosition = arc4random()%248; //48 different possibilities the random number generator can generate 
    RandomPosition = RandomPosition + 36; //generate a value between 36 and 284 try 30 
    platform1.center = CGPointMake(RandomPosition, 530); 
} 
+0

코드를 알려주시겠습니까? –

+0

@OmerObaid 좋아, 나는 그것을 추가했다. –

+0

는 문제가 해결되었습니다 –

답변

0

당신은 단순히 을 실행할 수 있어야합니다 [자기의 viewDidLoad]; ViewDidLoad 함수를 다시 실행해야합니다. "startGame"을 사용하여 전체 게임을 시작하려면 다음을 실행하십시오. [self startGame : (yourSendingButton)];

+0

어떤 이유로 든 똑같은 문제가 있습니다. ( –

+0

이상한 점 ... viewDidLoad에서 전체 장면을 설정합니까? –

+0

예 :(모든 설정이 완료되었습니다.) –

0

제공되는 코드에서 어떤 일이 발생하는지 말하는 것은 어렵습니다. 따라서 나는 단지 추측을 할 수 있습니다 :
재생 버튼이 실제로 IBAction을 실행하고 사용자의 gameover보기가 정말로 숨겨졌지만 다시 "자동으로"볼 수 있다고 가정합니다.
내 생각에 귀하의 방법은 moving이며 타이머에 의해 반복적으로 호출됩니다. 이 방법을 사용하면 사망 한 것으로 인식되어 다시 게임을 볼 수 있습니다.
그래서 사용자의 생활 상태를 올바르게 재설정 했습니까? 타이머를 중지 했습니까?

+0

고마워요. 도움이 필요합니다. 나는 처음부터 그런 것을 설정하지 않았기 때문에 어떻게 사용자의 생활 상태를 재설정할지 모르겠습니다. 게임 오버플로가 예스로 나타날 때 NSTimer가 무효화됩니다. –

관련 문제