我基本上想在屏幕上添加一个SKSpriteNode,我不知道它在哪里出错。所以我包括参与这个问题的三个班级的图片。我为所有背景创建了一个类。在那里,我使用函数addChild()
将我的56个节点添加到视图中,但它们不会出现在屏幕上。从理论上讲(对我来说)一切都应该有效。
希望你能帮助我将节点添加到屏幕上!
编辑:更新了图片。
答案 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)
}
}
}