0

我目前正在制作一个游戏,其中主游戏是 aSKScene但菜单是UIViewController. 我有一个按钮,当点击它时应该从菜单转换到SKScene. 我应该在里面写什么代码IBAction

我在跑步xcode6 beta 5。如果那改变了什么。

4

2 回答 2

0

如果您只有一个包含按钮的视图控制器,并且稍后将呈现 SKScene,您可以实现类似于以下的 IBAction:

目标 C

- (IBAction) buttonPressed:(UIButton *)button
{
    // Remove button from the view
    [button removeFromSuperview];
    // Configure the view.
    SKView * skView = (SKView *)self.view;
    skView.showsFPS = YES;
    skView.showsNodeCount = YES;

    // Create and configure the scene.
    SKScene * scene = [MyScene sceneWithSize:skView.bounds.size];
    scene.scaleMode = SKSceneScaleModeAspectFill;

    // Present the scene.
    [skView presentScene:scene];
}

迅速

@IBAction func buttonPressed(button:UIButton)
{
    // Remove button from the view
    button.removeFromSuperview()
    if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
        // Configure the view.
        let skView = self.view as SKView
        skView.showsFPS = true
        skView.showsNodeCount = true

        /* Sprite Kit applies additional optimizations to improve rendering performance */
        skView.ignoresSiblingOrder = true

        /* Set the scale mode to scale to fit the window */
        scene.scaleMode = .AspectFill

        skView.presentScene(scene)
    }
}

如果您有两个视图控制器,一个包含按钮,另一个将显示您的 SKScene,那么您不需要 IBAction。您可以简单地创建一个从按钮到游戏视图控制器的 segue。从情节提要中,右键单击(或按住 Control 单击)按钮,然后从 Triggered Segues 的动作拖动到游戏视图控制器并释放鼠标/触控板按钮。

于 2014-08-18T08:21:18.243 回答
0

只需从情节提要中加载视图控制器。在它呈现它之后。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
MyViewController *lcvc = (MyViewController*)[storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];
lcvc.modalPresentationStyle= UIModalPresentationCustom;
[self presentViewController:lcvc animated:YES completion:nil];
于 2014-08-17T15:41:45.197 回答