I would like to interrupt the sequence below for 2 seconds and resume to where it would have been if it wasn't interrupted in the first place.
For example, from the code below, if I were interrupt the sequence for 2 seconds by making the sprite visible from 1.5 - 3.5 seconds into the sequence (meaning that 1 second the hideInterval
action plus the showSprite
action, and 0.5 seconds of the showInterval
action would be missed) the interruption would end at 2.5 seconds remaining for the showInterval
action. How can I get the sprite to run an action on the remaining 2.5 seconds and continue with the normal sequence at that point.
Please note that this example is for clarity, though I would prefer a more generic way to resume a sequence after interruption.
let hideSprite = SKAction.fadeAlpha(to: 0, duration: 0.5)
let showSprite = SKAction.fadeAlpha(to: 100, duration: 0.5)
let hideInterval = SKAction.wait(forDuration: 2)
let showInterval = SKAction.wait(forDuration: 3)
let spriteSequence = SKAction.sequence([hideSprite, hideInterval, showSprite, showInterval])
sprite.runAction(SKAction.repeatForever(spriteSequence))
UPDATE
I think the following diagram will make my question more understandable and explain further what I want to achieve with the interruption of the sequence.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…