gpt4 book ai didi

ios - 遍历 SKNode 的所有子节点?

转载 作者:搜寻专家 更新时间:2023-10-31 08:09:59 24 4
gpt4 key购买 nike

我有一个带有许多子 SKSpriteNode 的 SKNode。一个简化的例子:

var parentNode = SKNode()
var childNode1 = SKSpriteNode()
var childNode2 = SKSpriteNode()

self.addChild(parentNode)
parentNode.addChild(childNode1)
parentNode.addChild(childNode2)

我想对所有这些 child 运行一个 colorizeWithColor Action 。当我在 parentNode 上运行操作时,没有任何效果。

我不能在父级上使用 enumerateChildNodesWithName,因为它的许多子级已经有了我正在使用的名称。

有没有办法遍历 parentNode 的所有子节点,以便对所有子节点执行一个操作?

最佳答案

你可以简单地枚举parentNode.children:

for child in parentNode.children as! [SKNode] {
// ...
}

如有必要,检查每个子节点是否实际上是一个 SKSpriteNode:

for child in parentNode.children {
if let spriteNode = child as? SKSpriteNode {
// ...
}
}

Swift 2 (Xcode 7) 开始, 枚举和可选类型转换可以结合到一个带有 case 模式的 for 循环中:

for case let child as SKSpriteNode in parentNode.children {
// ...
}

关于ios - 遍历 SKNode 的所有子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27880935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com