私は現在スプライト キット ゲームに取り組んでおり、デリゲートの設定/使用に問題があります。デリゲートの仕組みなどは知っていますが、ユーザーがゲームをプレイできるようにし、一時停止ボタンを押すとゲームを一時停止できるようにしようとしています。次に、UIAlertView を表示して、ニュースレター タイプの「ゲームの再開」または「サインアップ」を求めます。新しい UIViewController が表示される Web サイトがあり、View Controller が開いている間、ゲームを一時停止したいのです。私の問題は、ウェブサイトの操作が完了したときに、その時点でゲームを再開したいということです。私の問題:
- ユーザーがWebサイトの「閉じる」ボタンを押した後、UIViewControllerを閉じてから、SKScene.paused = noにします。
これは、私がそれを行う方法のコードです。
// 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;
}
すべての助けに感謝します