这是一个愚蠢的问题,但是函数 self.addChild()
做了什么?
我很熟悉这个函数,也很熟悉如何使用它,但我不确定它把 child 添加到什么地方。
例如,我创建并设计了一个名为 spinnyNode
的 SKShapeNode
。然后我调用函数:
func touchDown(atPoint pos : CGPoint) {
if let n = self.spinnyNode?.copy() as! SKShapeNode? {
n.position = pos
n.strokeColor = SKColor.black
self.addChild(n)
}
在这种情况下, parent 是什么?是创建节点的 View 吗?
非常感谢您抽出时间回答愚蠢的问题。
最佳答案
让我们分解一下:
self
在这种情况下,指的是您当前所在的 SKScene
。因此,如果您在 gameScene 中
,节点将被添加到gameScene
。请注意,您可以将节点添加到其他节点,因此如果您有一个名为 gameLayer
的 SKNode
,您可以将节点添加到 gameLayer
,这将然后添加到场景中。 (看起来像这样:gameLayer.addChild(node)
)如果节点没有指定位置,默认选择 self
addChild(node)
是实际将指定节点添加到指定位置的函数(见上文)。您通过将声明的名称放在括号中来告诉编译器将哪个节点添加到场景中。
确保您正在设置节点属性(position
、size
等...),因为在您更改它们之前它们会保持默认值。
关于swift - self.addChild 是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40776507/