我目前正在开发一款Sprite Kit游戏,我在设置/使用代理时遇到了一些问题。我知道代表们的工作方式以及所有这些,但我试图让用户有能力玩我的游戏,一旦他们点击暂停按钮,让游戏暂停。然后,我有一个UIAlertView出现要求“简历游戏”或“注册”的简报类型的东西。我有一个网站,我有一个新的UIViewController出现在下面,当视图控制器打开时,我希望游戏暂停,它是。我的问题是当我完成网站时,我希望游戏在那时恢复。我的问题:
以下是我如何做到这一点的代码。
// in the view controller class
- (IBAction)closeWebsite {
[self dismissViewControllerAnimated:YES completion:nil];
[self.delegate closeWebsiteAndResumeGame];
}
这是我的主要UIViewController类的代码,它暂停游戏。
// in the main view controller
@interface ADViewController () <ADWebViewViewControllerDelegate>
- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
NSString *title = [ alertView buttonTitleAtIndex:buttonIndex];
if ([title isEqualToString:@"Resume Game"]) {
_gamePlay.scene.paused = NO;
}
else {
// here i load the other viewController
ADWebViewViewController *webView;
webView.delegate = self;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
webView = [[ADWebViewViewController alloc] initWithNibName:@"ADWebViewViewController_iPhone" bundle:nil];
}
else {
webView = [[ADWebViewViewController alloc] initWithNibName:@"ADWebViewViewController_iPad" bundle:nil];
}
[self presentViewController:webView animated:YES completion:nil];
}
//_gamePlay.scene.paused = NO;
}
- (void) closeWebsiteAndResumeGame {
_gamePlay.scene.paused = NO;
}
我感谢所有帮助
答案 0 :(得分:0)
我找到了答案。我不需要使用委托。我所要做的只是在Interface Builder中链接一些项目,它完美地工作:)