SpriteKit:将SKSpriteNodes添加到视图中

时间:2015-11-06 20:22:36

标签: swift view sprite-kit skspritenode skscene

我基本上想在屏幕上添加一个SKSpriteNode,我不知道它在哪里出错。所以我包括参与这个问题的三个班级的图片。我为所有背景创建了一个类。在那里,我使用函数addChild()将我的56个节点添加到视图中,但它们不会出现在屏幕上。从理论上讲(对我来说)一切都应该有效。

GameViewController

GameScene

Background

希望你能帮助我将节点添加到屏幕上!

编辑:更新了图片。

1 个答案:

答案 0 :(得分:1)

当你这样称呼时:

GameScene().addChild(image)

每次在for内创建本地GameScene对象时,将image添加到此对象,当您移动到循环的下一次迭代时,此对象将被销毁。事实上,在你的循环之后没有一个GameScene对象。

其次,您不需要在var image = SKSpriteNode()对象中使用hintergrund。您每次都将此引用设置为新对象。

你在代码中有交叉引用,试着做这样的事情:

class GameScene: SKScene {
    ...
    override func didMoveToView(view: UIView) {
        hintergrund.setBackgroundForScene(self, width: screenWidht)
    }
}

class hintergrund {
    ...
    class func setBackgroundForScene(gameScene: GameScene, width: CGFloat) {
        ...
        for (...) {
            ...
            gameScene.addChild(image)
        }
    }
}