【问题标题】:How create a Flip effect for SKSpriteNode in swift如何在 swift 中为 SKSpriteNode 创建翻转效果
【发布时间】:2015-10-17 14:33:58
【问题描述】:

我想用 SKSpriteNode 像 effect 那样快速创建一个翻转效果。 我试试这个solution 但在水平旋转之前我们可以看到垂直旋转。我只想要一个水平旋转,例如 HTML/CSS。

【问题讨论】:

  • 翻转后应该是同一个精灵?您可以使用将 xScale 设置为 -1 的操作,它会翻转图像
  • 这里你可以找到如何进行翻转raywenderlich.com/76718/card-game-mechanics-sprite-kit-swift
  • 不,我想像 Ray Wenderlich 的翻转教程一样在翻转过程中更改我的精灵。我在下午晚些时候尝试,我给你一个反馈。谢谢
  • 谢谢,完美的工作。我用我的方法回答下一个人。

标签: ios swift skspritenode flip skaction


【解决方案1】:

使用 SKSpriteNode 翻转的解决方案:

    func flipTile(node : RectSprite){

        let flip = SKAction.scaleXTo(-1, duration: 0.4)

        node.setScale(1.0)

        var changeColor = SKAction.runBlock( { node.texture = SKTexture(imageNamed: "blue")})
        var action = SKAction.sequence([flip, changeColor] )

        node.runAction(action)

}

【讨论】:

    【解决方案2】:

    上面的代码帮助我在下面的 Swift 3 中创建了这个函数。注意细微的语法差异,但仍然非常相似。

    可能可以再次将操作设置为 let 变量并在 [ ] 中运行它们,但这对我来说已经足够简洁了。

    func flipCard (node: SKNode, label: SKLabelNode)
            {
                label.isHidden = true
    
                node.run(SKAction.sequence(
                    [SKAction.scaleX(to: 0, duration: 0.2),
                     SKAction.scale(to: 1, duration: 0.0),
                     SKAction.setTexture(SKTexture(imageNamed: "Redcard-blank")),
                     SKAction.fadeOut(withDuration: 2),
                     SKAction.fadeIn(withDuration: 2),
                     SKAction.fadeOut(withDuration: 2),
                     ]
                ))
                label.isHidden = false
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-12
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 2014-10-13
      相关资源
      最近更新 更多