SKSpriteNode 在屏幕上的 SpriteKit 位置

SpriteKit location of SKSpriteNode on screen

我遇到了一个非常简单的问题,但我一直无法找到解决方案...如何获得 SKSpriteNode 的屏幕坐标,因为它 position 属性 是 CGPoint.zero 但它是 SKScene 之后的子代数量并且每个父代都会应用一些翻译?

您需要使用 convert(_ point: CGPoint, to node: SKNode)convert(_ point: CGPoint, from node: SKNode)

您可能必须同时使用两者

例子

let nestedSpritePos = convert(convert(nestedSpritePos.position, from: nestedSpritePos.parent!), to: self)

假设自己是场景。您可能需要尝试一下这些,但它们绝对是您要找的东西。