我有一个带纹理动画的SKSpriteNode . 我基本上有一个4帧的字符空闲周期和一个闪烁动画序列 . 我想永远循环字符空闲周期,但让它以随机间隔播放闪烁动画序列 .
我有以下代码;
func playIdle() {
let idle_loop = SKAction.repeatAction(action_textureSequence_idle!, count: randomLoopCount())
let sequence = SKAction.sequence([idle_loop, action_textureSequence_blink!])
let repeatSequence = SKAction.repeatActionForever(sequence)
runAction(repeatSequence)
}
func randomLoopCount() -> Int {
return Int(arc4random_uniform(10) + 2)
}
obove的问题是,随机数只生成一次,因此眨眼根本不会随机发生 . 在每次循环次数相同之后 . 我如何实现我正在寻找的效果?
1 回答
您可以使用递归来实现您想要的:
部件unowned self保护您免于创建strong reference cycle .