在 for 循环中更改 SKNode 子节点的属性
Change properties for children of SKNode in a for loop
我知道 SKNode 的子节点 属性 是只读的 属性。不过,有没有一种方法可以在遍历子项时更改这些子项的属性?
例如:
let background = SKSpriteNode(imageNamed: "Background.jpg")
for child in background.children{
child.position = CGPoint(x: 0, y: 0)
}
您可以将 child 转换为 SKNode
,然后更改位置。
for child in self.children {
if let sprite = child as? SKNode {
sprite.position = CGPoint(x: 0, y: 0)
}
}
children 属性 是只读的,因此您不能使用此 属性 添加或删除元素(子元素)(有特定的方法可以做到) .
但是您可以修改 background.children.
中元素的某些属性
for child in background.children as [SKNode] {
child.position = CGPoint(x: 0, y: 0)
}
将 background.children 铸造为 [SKNode] 是安全的,并由 documentation.
保证
我知道 SKNode 的子节点 属性 是只读的 属性。不过,有没有一种方法可以在遍历子项时更改这些子项的属性?
例如:
let background = SKSpriteNode(imageNamed: "Background.jpg")
for child in background.children{
child.position = CGPoint(x: 0, y: 0)
}
您可以将 child 转换为 SKNode
,然后更改位置。
for child in self.children {
if let sprite = child as? SKNode {
sprite.position = CGPoint(x: 0, y: 0)
}
}
children 属性 是只读的,因此您不能使用此 属性 添加或删除元素(子元素)(有特定的方法可以做到) .
但是您可以修改 background.children.
中元素的某些属性for child in background.children as [SKNode] {
child.position = CGPoint(x: 0, y: 0)
}
将 background.children 铸造为 [SKNode] 是安全的,并由 documentation.
保证