首页 > 解决方案 > 在节点的右边缘而不是在中心旋转 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) 之类的东西,手臂仍然没有连接到身体上,或者位置不是我想要的位置。我想知道是否有某种方法可以改变精灵的旋转轴。提前致谢。

标签: swiftsprite-kitskspritenode

解决方案


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


推荐阅读