我正在使用 SpriteKit 构建游戏。这是我的节点树:self.world.hydraAnchor.head
问题是 head
看不见
代码简单
let world = SKSpriteNode()
addChild(world)
...
let hydraAnchor = SKSpriteNode()
hydraAnchor.position = anchorsPosition
world.addChild(hydraAnchor)
let head = SKSpriteNode(imageNamed: "hydraHead")
head.position = CGPointMake(anchorsPosition.x, anchorsPosition.y + 50)
hydraAnchor.addChild(head)
我看不到head
在构建项目时,同时 println(hydraAnchor.children)
给出 [<SKSpriteNode> name:'(null)' texture:[<SKTexture> 'hydraHead' (50 x 50)] position:{700.50396728515625, 2486.333251953125} size:{25, 25} rotation:0.00]
当而不是添加 head
时至 hydraAnchor
我这样做:
world.addChild(head)
head
可见。
zPosition
, invisible
和 alpha
属性与问题无关。
最佳答案
您忘记了节点的子节点的坐标系与父节点的坐标系不同。您的父节点的“worldNode”位置可能位于 x:500、y:500 并且在父节点顶部添加一个子节点 20 点将变为 x:0 y:20。
您正在使用 worldNode 坐标而不是父坐标添加子节点。
关于swift - SpriteKit : can not see existing node's children,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30847346/