单击时切换场景的按钮

时间:2015-01-04 20:27:21

标签: ios objective-c button uibutton scene

所以我真的很想弄清楚如何通过按下按钮来切换场景。基本上,我想制作一个“开始游戏”按钮。有很多谷歌的答案,似乎没有一个帮助。有一个语法错误或应用程序崩溃。无论如何,这就是我要去的地方。我有一个正确制作我的按钮的gameviewcontroller,它成功地与按下按钮的方法进行通信(用于将字符打印到控制台等)。现在,在我的Title.m(我开始的场景)中,我有一个类似的方法:

-(void) gScene { 
    GameScene* gameScene = [[GameScene alloc] initWithSize:self.size];
    [self.view presentScene:gameScene];
}

我的Title.h中也有方法,它被导入到GameViewController中。 在我的GameViewController中,与我按下按钮链接的方法称为startGame。这就是startGame的样子:

-(void)startGame { 
    Title* title = [[Title alloc] init];
    [title gScene];
}

我想按下按钮,让场景从我的标题切换到我的GameScene。我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果使用nibs:

GameScene *vc = [[GameScene alloc] init];
[self presentViewController:vc animated:YES completion:nil];

如果使用故事板:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"YOUR_STORYBOARD_NAME" bundle:nil];
GameScene *vc = [storyboard instantiateViewControllerWithIdentifier:@"IDENTIFIER_OF_IB_VC"];
[self presentViewController:vc animated:YES completion:nil];

如果以编程方式创建场景:(Apple Documentation)

   UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
   levelViewController = [[LevelViewController alloc] init];
   window.rootViewController = levelViewController;
   [window makeKeyAndVisible];

您的问题在于用于设置框架边界的“self.size”代码。第三个例子可以帮助你。干杯