Pause an SKAction in Spritekit with Swift

前端 未结 3 1684
既然无缘
既然无缘 2021-01-02 07:10

I have the following code to move an SKSpriteNode.

let moveDown = SKAction.moveBy(CGVectorMake(0, -120), duration: 1)
let moveUp = SKAction.move         


        
相关标签:
3条回答
  • 2021-01-02 07:19

    An alternative to @Whirlwind 's answer, in case you have a bunch of actions that need to be paused that are not in a group and not just the movement, is to just pause the node itself. All SKNodes have a paused property associated with it.

    Ex. square.paused = true

    0 讨论(0)
  • 2021-01-02 07:27

    SCNNode.paused has been renamed to SNCNode.isPaused.
    You should be able to do the following Pause animation: square.isPause=true Restart animation: square.isPaused=false

    0 讨论(0)
  • 2021-01-02 07:39

    You should run an action with key:

     square.runAction(SKAction.repeatActionForever(moveSequence), withKey:"moving")
    

    Then, use action's speed property to pause it:

    if let action = square.actionForKey("moving") {
    
            action.speed = 0       
    }
    

    or to unpause it:

    action.speed = 1
    
    0 讨论(0)
提交回复
热议问题