Как я могу показать UIAlertView на слое Cocos2d в iPhone? - PullRequest
0 голосов
/ 16 декабря 2009

У меня есть слой в моей игре. В конце игры я хочу показать пользователю UIAlertView для перезапуска или выхода из игры. Но это не работает. Мне также предоставляется делегат UIAlertViewDelegate для слоя.

Есть ли решения?

Мой код следует,

-(void)gameFinished{
    [[UIApplication sharedApplication] setIdleTimerDisabled:NO];

    [self unschedule:@selector(checkForCollision)];
    [self unschedule:@selector(dropObject)];
    [self stopBackgroundMusic];

    [self startNewForegroundMusic:@"GameOver" ofType:@"caf"];
    [self playForegroundMusic];

    [[Director sharedDirector] pause];
    UIAlertView *view=[[UIAlertView alloc] initWithTitle:@"Game Finished" message:@"Want to play again?" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes"];
    [view show];
    [view release];
} 

Ответы [ 2 ]

1 голос
/ 16 декабря 2009

Ваш код падает или просто не отображается?

У вас есть небольшая ошибка в строке

[[UIAlertView alloc] initWithTitle:@"Game Finished"
                     message:@"Want to play again?"
                     delegate:self cancelButtonTitle:@"No"
                     otherButtonTitles:@"Yes"]

Это должно быть

[[UIAlertView alloc] initWithTitle:@"Game Finished"
                     message:@"Want to play again?"
                     delegate:self cancelButtonTitle:@"No"
                     otherButtonTitles:@"Yes", Nil]

примечание: последний параметр является переменным аргументом, и поэтому должен иметь значение Nil.

0 голосов
/ 15 января 2015

Попробуйте показать предупреждение перед тем, как режиссер приостановит работу.

...