SpriteKitのrunActionを遅延させる

SKspriteNodeを遅延させるには

let wait = SKAction.waitForDuration(1)
someNode.runAction(wait)

とかすればすればいい。ループの中でSKActionを実行するとループ処理中のアクションはほぼ同時に実行されているように目視では見えるためループの回数だけ遅延時間を延長させる。

for var i = 0; i < 5; i++{
    let wait = SKAction.waitForDuration(1*i)
    someNode.runAction(wait)
}

あくまで見た目上の演出のための遅延というか。これを関数にしてメインスレッドで複数実行とかするとSKActionの遅延中にメインスレッドが先に進行する。

コメントを残す

メールアドレスが公開されることはありません。