Sprite kit SKAction:SKPhysicsBody:xScale

Sprite kit SKAction:SKPhysicsBody:xScale,sprite-kit,Sprite Kit,在Xcode 8.3.3中,将SKSpriteNode设置为SKNode的子节点 为SKSpriteNode创建一个SKPhysicsBody 将SKAction.rotate添加到SKSpriteNode 然后将SKSpriteNode的xScale设置为-1(在ToucheSBegind中) 结果是SKA操作被错误地反转 接下来,将SKNode的xScale设置为-1,而不是SKSpriteNode(在ToucheSStart中) 这一次,SKPhysicsBody和SKSpriteNod

在Xcode 8.3.3中,将SKSpriteNode设置为SKNode的子节点

  • 为SKSpriteNode创建一个SKPhysicsBody
  • 将SKAction.rotate添加到SKSpriteNode
  • 然后将SKSpriteNode的xScale设置为-1(在ToucheSBegind中)
  • 结果是SKA操作被错误地反转

  • 接下来,将SKNode的xScale设置为-1,而不是SKSpriteNode(在ToucheSStart中)
  • 这一次,SKPhysicsBody和SKSpriteNode分别被分离为镜像的SKActions
  • 这是一个bug还是可以通过某种方式修复(无需创建和添加SKSpriteNode的镜像版本)


    感谢您的帮助

    在案例1中,精灵会在应用旋转之前缩放,这就是为什么它仍然会沿着相同的方向移动,就像没有翻转一样

    在案例2中,应用旋转后精灵会缩放,这就是为什么现在可以获得正确的方向

    至于SKPhysicsBody,这是一个关于如何应用仿射变换更改的bug

    它不会在数字的符号上出现,这就是为什么身体走错了方向