好吧,所以我一直试图在将它添加到场景之前介绍一个sprite节点。唯一的问题是我需要知道节点的(0,0.5)或(左,中)位置,然后才能正确定位。使用坐标系转换故障前置节点
我知道的convertPoint:(CGPoint)toNode/FROMNODE:(SKSpriteNode *)方法,目前我已经做了以下场景的代码中:
[node convertPoint:CGPointMake(0,0.5) toNode: self]
我还不能肯定如果混淆了自我(现场)自(节点),所以我试图
SKScene *scene = self;
[node convertPoint:CGPointMake(0,0.5) toNode: scene]
我敢肯定,我没有做出区别,但我想任何办法。
两次尝试的记录结果都是(0,0.5)。
node.position是(50,100)。
在上述情况不明确的情况下,我试图找到帧边缘上的位置,它应该等于节点宽度。我不使用宽度的原因是因为我将它放在另一个节点上,并且两个节点可能会旋转。
我想引用的理论是从Apples Spritekit Programming Guide
如果没有建立基于一个节点的宽度,两个节点之间的距离更简单的方法,同时考虑到旋转,随意张贴它我很想知道,尽管我仍然需要其他方法的节点转换。
非常感谢您的帮助。
我不确定我明白你想要什么,但convertPoint:toNode:获取绝对位置,而不是相对像0,0.5。检查CGRectGetMinX和CGRectGetMidY是否有助于您寻找的内容。 – gzafra 2014-09-28 15:54:21
我确实找到了一种使用CGRectGetMinX和CGRectGtMidY的方法,但它看起来非常笨重。我知道当你设置一个锚点时,你使用(0.5,0.5)作为默认中心,(0,0)为左下角。知道这一点,我发现通过将锚点设置为(0,0.5),然后检查节点的位置会给我正是我需要的。唯一的问题是每次我将锚点设置到该位置时,我都遇到了物理机构的问题。 – Ryoku 2014-09-29 00:49:35
由于我添加了代码,因此回复了答案。 – gzafra 2014-09-29 10:13:49