2016-04-25 84 views
0

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

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

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

leftArm和rightArm固定到主体节点(通过SKPhysicsJointPin)。

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

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

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

回答

0

我发现了一种方法,可以帮助我独立更改固定节点的位置。

  1. 调整你的固定节点位置
  2. 让您的固定节点联合(S)(通过 pinnedNode.physicsBody.joints)
  3. 从physicsWorld取出联合
  4. 与同创建一个新的联合参数为已删除之一并且 将其添加到世界