已固定子项的镜像精灵套件节点



问题也可能是:如何沿另一个节点轴镜像固定的SpriteKit节点?

我正在使用SpriteKit开发一款2D平台游戏。我的英雄是一个SKNode,可以作为所有身体部位的容器。

hero:SKNode
--- leftArm:SKSpriteNode
--- rightArm:SKSpriteNode
--- body:SKSpriteNode

左臂和右臂固定在身体节点上(通过SKPhysicsJointPin)。

我想在英雄改变方向时水平镜像他。当我将 xScale 更改为 -1 时,所有内容都会被镜像,但固定的节点会沿其自己的轴镜像,而不是沿主体轴/父节点中心镜像。

我尝试手动调整固定节点的位置,但没有任何效果(似乎不允许固定节点)。

如何沿主体节点轴镜像固定节点或独立更改其位置?

我找到了一种适合我独立更改固定节点位置的方法。

  1. 调整固定节点位置
  2. 获取固定节点关节(通过pinnedNode.physicsBody.joints)
  3. 从物理世界中移除关节
  4. 使用与移除的关节相同的参数创建新关节,然后将其添加到世界

最新更新