Spritekit - 重播按钮

时间:2014-05-13 05:49:44

标签: ios sprite-kit uialertview

如何创建一个UIAlertView,其中包含一些文字和一个按钮,可以重新启动我正在制作的游戏。

提前致谢,

最诚挚的问候,路易斯。

2 个答案:

答案 0 :(得分:1)

试试这个:

[[CCDirector sharedDirector] pause];
UIAlertView *pauseAlert = [[UIAlertView alloc] initWithTitle:@"Game Paused" message:nil delegate:self cancelButtonTitle:@"CANCEL" otherButtonTitles:@"RESTART", nil];
[pauseAlert show];

委托方法..

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
   if (buttonIndex == 0)
   {
      NSLog(@"Cancel..");
   }
   else if (buttonIndex == 1)
   {
      NSLog(@"restart..");
      [[CCDirector sharedDirector] resume];
   }
}

答案 1 :(得分:0)

您需要检测是否已在UIAlertView上轻触按钮。为此,您需要实现UIAlertViewDelegate协议。

请按照以下步骤操作:

1 - 实施协议。在场景的.h文件中

@interface MyScene : SKScene <UIAlertViewDelegate> //This will implement the protocol.

2 - 声明并实例化UIAlertView。设置代表。

UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Restart?" message:@"Do you want to restart the level?" delegate:self cancelButtonTitle:@"NO" otherButtonTitles:@"Yes", nil];
[alert show];

3 - 实施委托方法

-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    if ([alertView.title isEqualToString:@"Restart?"] && buttonIndex == 1)
    {
        //Code for restarting the level here.
    }
}

请参阅此tutorial以获取有关UIAlertView如何工作的说明。