我有一个父SKSpriteNode,它包含许多子SKShapeNodes,SKSpriteNodes和SKLabelNodes,这些子排列在相对于父母的特定X,Y位置。
当我通过在其上运行SKAction来翻转父级时:
SKAction.scaleXTo(-1, duration: duration)
它会翻转包含子项(我想要的)的父项,但所有子节点的水平对齐都是随机的。
我必须提到我有
parent.anchorPoint = CGPoint(x: 0,y: 0)
答案 0 :(得分:1)
发生这种情况的原因是因为你的锚点。缩放(和所有转换)发生在这一点上。要测试,拿一张纸,在左上角放一支铅笔,然后尝试将右侧移到左侧。把铅笔留在原处。您会注意到右侧现在是纸张的宽度
在这种情况下,您需要做的是重新添加宽度以使纸张保持在同一位置。
与精灵相同的规则。在进行负刻度时,您必须添加宽度,然后在返回正刻度时删除宽度
(或者只是把你的锚放在中心)
答案 1 :(得分:0)