斯威夫特“开始游戏菜单”

时间:2016-03-26 20:26:43

标签: xcode swift sprite-kit

我还是很新,但是我几乎完成了一个游戏,问题是我没有允许用户点击“点击播放”的场景所以当应用加载时,用户只是在没有任何警告的情况下投入到游戏中。我知道我需要在

下创建场景
         override func didMoveToView(view: SKView) {
        /* Setup your scene here */

但我似乎无法找到如何做到这一点!我到处寻找,但找不到任何解决方法,所有的帮助都表示赞赏,我希望这个问题很清楚,如果没有,我的道歉!

1 个答案:

答案 0 :(得分:2)

为游戏过渡到gameScene的简单startScene可能是这样的:

在StartScene类中为SKLabelNode

创建一个常量
// you can use another font for the label if you want...
let tapStartLabel = SKLabelNode(fontNamed: "STHeitiTC-Medium")

然后在didMoveToView

override func didMoveToView(view: SKView) {
    // set the background
    backgroundColor = SKColor.whiteColor()

    // set size, color, position and text of the tapStartLabel
    tapStartLabel.fontSize = 16
    tapStartLabel.fontColor = SKColor.blackColor()
    tapStartLabel.horizontalAlignmentMode = .Center
    tapStartLabel.verticalAlignmentMode = .Center
    tapStartLabel.position = CGPoint(
        x: size.width / 2,
        y: size.height / 2
    )
    tapStartLabel.text = "Tap to start the game"

    // add the label to the scene   
    addChild(tapStartLabel)
}

然后在touchesBegan中从startScene转到您当前的gameScene:

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

    let gameScene = GameScene(size: size)
    gameScene.scaleMode = scaleMode

    // use a transition to the gameScene
    let reveal = SKTransition.doorsOpenVerticalWithDuration(1)

    // transition from current scene to the new scene
    view!.presentScene(gameScene, transition: reveal)
}

使用点击播放标签使StartScene成为您的第一个场景,在viewDidLoad()的{​​{1}}方法中添加此代码:

GameViewController

看起来应该是这样的: enter image description here