Вопрос

У меня есть слой в моей игре.По завершении игры я хочу показать пользователю 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];
} 
Это было полезно?

Решение

У вас происходит сбой кода или он просто не отображается?

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top