私は一連のアクションをまとめていて、その後X回実行しています。最初に私は0.05秒待ってから、サウンドファイルを再生してから、ノードを画面に追加して、次回のサウンドファイルをランダム化します。しかし、これを実行すると、再生されるサウンドはすべての繰り返しで同じファイルになります。反復部分とノードを画面に追加すると、サウンドが毎回どのようにランダム化されないのでしょうか?SKActionが期待通りに動作していないようです。
var iterator = 0
var sound = "Content/text\(RandomInt(1, max: 5)).m4a"
let waitAction = SKAction.waitForDuration(0.05)
let addNode = SKAction.runBlock({
text.addChild(letterNodes[iterator])
iterator += 1
sound = "Content/text\(RandomInt(1, max: 5)).m4a"
})
let sequenceAction = SKAction.sequence([waitAction, SKAction.playSoundFileNamed(sound, waitForCompletion: false), addNode])
let repeatAction = SKAction.repeatAction(sequenceAction, count: letterNodes.count)
runAction(repeatAction)
は、イテレータ変数の問題ですか? – bearacuda13
アクションを作成するときには、そのアクションを再使用することしかできません。必要に応じて変更することはできません。 – Whirlwind
@ bearacuda13イテレータ変数が正常に動作していません。問題はサウンド変数を再初期化する場所です。 – Brejuro