我在 swift 文件的函数中有两个 Sprite 节点。两个节点的大小和位置相似。 Node2 是节点的子节点。
当节点添加到场景中时,节点位置彼此不同。它们并不像人们想象的那样相互重叠。
func stoppers()->SKSpriteNode{
let node=SKSpriteNode(imageNamed:"image1")
node.size=CGSize(width:20,height:300)
node.position=CGPoint(x:100,y:100)
let node2=SKSpriteNode(imageNamed:"image2")
node2.size=CGSize(width:20,height:300)
node2.position=CGPoint(x:100,y:100)
node.addChild(node2)
return node
}
该函数被调用到场景中,如下所示: addChild(game.stoppers())
最佳答案
如果node2
是node1
的 child 并且您希望它们位于屏幕上的同一位置,然后 node2
必须有 position
的(x: 0, y: 0)
。这是因为子节点的位置是相对于父节点的。他们还需要有相同的 anchorPoint
.
关于swift:返回具有相同位置的子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42293479/