屏幕上 SKSpriteNode 的 SpriteKit 位置
Posted
技术标签:
【中文标题】屏幕上 SKSpriteNode 的 SpriteKit 位置【英文标题】:SpriteKit location of SKSpriteNode on screen 【发布时间】:2018-05-20 16:30:46 【问题描述】:我遇到了一个非常简单的问题,但我找不到解决方案...我如何获得SKSpriteNode
的屏幕坐标,因为它的position
属性是CGPoint.zero
但是从SKScene
下来,它的孩子数量很多,并且每个父母都会应用一些翻译?
【问题讨论】:
【参考方案1】:你会想要使用convert(_ point: CGPoint, to node: SKNode)
和convert(_ point: CGPoint, from node: SKNode)
你可能不得不同时使用这两个
例子
let nestedSpritePos = convert(convert(nestedSpritePos.position, from: nestedSpritePos.parent!), to: self)
假设 self 是场景。您可能不得不尝试这些,但它们绝对是您正在寻找的。p>
【讨论】:
不需要重复两次。scene.convert(position,from:node)
。将带您从节点到场景。 node1.convert(position,from:node2)
将把你的位置从节点 2 上到场景,然后下到节点 1
很高兴知道!老实说,我发现“转换”函数是 Apple 文档中描述最糟糕的一个函数以上是关于屏幕上 SKSpriteNode 的 SpriteKit 位置的主要内容,如果未能解决你的问题,请参考以下文章
Sprite不会用手指/ SpriteKit / Swift 3移动