初始化多个 SKSpriteNodes

Init multiple SKSpriteNodes

我正在尝试将多个 SKSpriteNode 添加到我的 SKSpriteNode 子类中。在我的例子中,重要的是我可以从场景中调用子节点。

有没有办法在循环中创建这样的全局可用精灵?

当你将精灵添加到父节点时,记得给它们分配一个name

let parent = SKSpriteNode()

let child0 = SKSpriteNode()
child0.name = "child0"
parent.addChild(child0)

let child1 = SKSpriteNode()
child1.name = "child1"
parent.addChild(child1)

let child2 = SKSpriteNode()
child2.name = "child2"
parent.addChild(child2)

稍后您可以使用 name

以这种方式检索它们
func foo() {
    guard let child1 = parent.childNodeWithName("child1") as? SKSpriteNode else { return }
    child1.alpha = 0.5
}