【发布时间】:2014-09-16 19:19:46
【问题描述】:
我有一个多人游戏,我希望它在我按下菜单中的一个按钮后开始。问题是我开始多人游戏后不知道如何直接从菜单过渡到游戏。
在 ViewController.m 中
- (IBAction)multiplayer:(id)sender {
[Nextpeer launchDashboard];
}
在 AppDelegate.m 中
-(void)nextpeerDidTournamentStartWithDetails:(NPTournamentStartDataContainer *)tournamentContainer {
UIStoryboard *storyboard = self.storyboard;
ArcadeView *svc = [storyboard instantiateViewControllerWithIdentifier:@"arcade"];
[self presentViewController:svc animated:YES completion:nil];
srandom(tournamentContainer.tournamentRandomSeed);
[tournamentContainer tournamentIsGameControlled];
}
我收到了
的错误“在“AppDelegate *”类型的对象上找不到属性“故事板”和 “‘AppDelegate’没有可见的@interface声明选择器 'presentViewController:animated:completion:'"
如何使用情节提要从一个 ViewController 更改为另一个 ViewController?
通常在 cocos2d 中,我会这样做:
CCScene *gameplayScene = [CCBReader loadAsScene:@"GamePlay"];
[[CCDirector sharedDirector] replaceScene:gameplayScene];
什么是等价物?
【问题讨论】:
-
应用加载时如何设置 self.storyboard?你为什么要为它保留财产。通常你不需要一个,你总是可以通过执行以下操作来获得它: UIStoryBoard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
-
原因是因为我有 3 个故事板用于 2 个不同的 iPhone 尺寸和 1 个用于 iPad。如何更正上面的代码?
-
首先我会尝试确保故事板被正确实例化。在您的应用程序中完成加载方法尝试执行 self.storyboard 而不仅仅是故事板(假设您有它的属性)。如果这不起作用,请在日志语句中检查以确保在 nextpeerDidTournamentStartWithDetails 方法的第一行之后故事板不为零。
标签: ios objective-c uiviewcontroller uikit nextpeer