为什么SpriteKit没有给我任何东西?

时间:2015-12-20 09:38:37

标签: ios swift sprite-kit

我刚开始一个项目并添加以下代码行:

override func didMoveToView(view: SKView) {
    let myNode = SKNode()
    myNode.position = CGPoint(x: 250.0, y: 300.0)
    addChild(myNode)

    let mySprite = SKSpriteNode(imageNamed: "Spaceship")
    mySprite.position = CGPoint(x: 0, y: 0)
    mySprite.zPosition = 1
    myNode.addChild(mySprite)

    let myOtherSprite = SKSpriteNode(imageNamed: "Spaceship")
    myOtherSprite.position = CGPoint(x: 50.0, y: 50.0)
    myOtherSprite.zPosition = 2
    myNode.addChild(myOtherSprite)
}

但精灵不会出现在场景中。这有什么问题?我多次检查了我的代码,我认为没有错误。

1 个答案:

答案 0 :(得分:0)

scene.size = skView.bounds.size添加到您的GameViewController viewDidLoad方法中,以便它看起来像这样:

override func viewDidLoad() {
    super.viewDidLoad()

    if let scene = GameScene(fileNamed:"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

        /* Fix Size */
        scene.size = skView.bounds.size

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

        skView.presentScene(scene)
    }
}

正如Knight0fDragon所述,这将影响autoLayout的工作方式,因此它可能不适用于所有解决方案。