我想将单元格位置转换为场景的坐标。目前,该单元格是一个不可见节点的子节点。当细胞与病毒接触时,我得到细胞的位置。令人困惑的是,单元格相对于其父级的坐标以及坐标转换到场景时的位置是相同的。位置读数为 (0,0.002),但其实际位置应为 (0,50)。
如果我通过直接引用单元节点(例如childNodeWithName("cell")
)来监视位置,它会显示正确的位置。我最初认为这个问题与向下投射有关,但不管有没有它,位置都显示不正确。为什么会这样?
func didBeginContact(contact: SKPhysicsContact) {
let bodyA = contact.bodyA
let bodyB = contact.bodyB
if bodyA.categoryBitMask & PhysicsCategory.Virus != 0
&& bodyB.categoryBitMask & PhysicsCategory.Cell != 0 {
let virus = bodyA.node as! VirusNode
virus.attachedCell = bodyB.node as? CellNode
print(self.convertPoint(virus.attachedCell!.position, toNode: self)) //outputs (0,0.002)
}
}