SpriteKit:将 SKSpriteNode 添加到视图

SpriteKit: Add SKSpriteNodes To The View

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

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

编辑:更新了图片。

当你这样调用时:

GameScene().addChild(image)

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

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

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

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)
        }
    }
}