在节点的右边缘而不是在中心旋转SKSpriteNode

时间:2018-08-07 03:58:36

标签: swift sprite-kit skspritenode

我一直在寻找这个答案,人们说使用锚点是我的解决方案。当我更改锚点时,它不起作用。

我正在使用SKSpriteKit来移动对象。我有一个节点是身体,另一个节点是手臂。我正在尝试旋转手臂,使其附着在身体上但仍然旋转。我得到的是手臂以其中心旋转。我希望它在边缘旋转,以使其看起来附着在身体上。有人可以帮忙吗?下面的代码段。

arm.position = CGPoint(x: -30, y: 0)
arm.zPosition = 1
body.zPosition = 0

addChild(arm)
addChild(body)

var rotation = SKAction.rotate(byAngle: CGFloat(-Double.pi/2.2), duration: 0.4)
var rotationAction = SKAction.sequence([rotation])

arm.run(rotationAction)

如果将锚点设置为(0.3,0.5),则手臂仍未附着在身体上,或者该位置不在我想要的位置。我想知道是否有某种方法可以更改精灵的旋转轴。预先感谢。

1 个答案:

答案 0 :(得分:0)

设置arm.anchorPoint = CGPoint(x: 1, y: 1)