Как я могу показать UIAlertView на слое Cocos2d на iPhone?
-
19-09-2019 - |
Вопрос
У меня есть слой в моей игре.По завершении игры я хочу показать пользователю 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]
примечание:последний параметр является переменным аргументом и, следовательно, должен заканчиваться нулем.
Другие советы
Попробуйте показать предупреждение до того, как режиссер остановится, это может сработать.
Не связан с StackOverflow