如何设置SKShapeNode的不透明度动画?

Has*_*Has 9 sprite-kit skshapenode swift

我正在我的游戏的说明屏幕上工作,并希望向用户显示他们应该点击屏幕的某个区域.

所以我想在哪里展示动画

1)手指伸缩进出屏幕,然后 - 工作正常 -

2)改变不透明度的矩形(显示在那里点击)然后 - 需要帮助 -

3)文字闪烁,说"点击这里" - 需要帮助 -

对于1),我有这个(工作正常):

    finger = SKSpriteNode(texture: fingerTxt)
    finger.position = CGPoint(x: 330, y: 450)
    finger.zPosition = 10
    InstHolderNode.addChild(finger)

    let fingerTapScaleDown = SKAction.scale(by: 0.6, duration: 0.7)
    let fingerTapScaleUp = SKAction.scale(by: 1.6, duration: 0.7)
    let fingerScalingSequence = SKAction.sequence([fingerTapScaleDown,fingerTapScaleUp])

    let fingerTapScaleForever = SKAction.repeatForever(fingerScalingSequence)
    finger.run(fingerTapScaleForever)
Run Code Online (Sandbox Code Playgroud)

对于2),我有:

    var rect = SKShapeNode(rectOf: CGSize(width: 150.0, height: frame.height * 2))
    rect.position = CGPoint(x: 300, y: 100)
    rect.fillColor = SKColor.brown
    rect.alpha = 0.5
    InstHolderNode.addChild(rect)
Run Code Online (Sandbox Code Playgroud)

题 :

如何同步1)2)这样1)完成后(手指点击动画完成),rect.alpha值改变为0.1然后改变回0.5然后 1)发生然后rect.alpha改变为改变为0.1(在循环中) )不断.

非常感谢!!

Ary*_*n C 7

尝试这个:

    var fadeOut = SKAction.fadeAlpha(to: 0.1, duration: 0.5)
    var fadeIn = SKAction.fadeAlpha(to: 0.5, duration: 0.5)

    rect.run(SKAction.repeatForever(SKAction.sequence([fingerScalingSequence, fadeOut, fadeIn])))
Run Code Online (Sandbox Code Playgroud)

根据您的喜好调整持续时间