0
let randomize = SKAction.runBlock({ [unowned self] in
self.footstepFile = "Content/footstep\(RandomInt(1, max: 4))"
print(self.footstepFile)
})
sprite.runAction(SKAction.repeatActionForever(SKAction.sequence([randomize, SKAction.playSoundFileNamed(footstepFile, waitForCompletion: true)])), withKey: "footsteps")
이 동작을 실행하면 footstepFile이 인쇄 할 때 랜덤 화되지만, 실제로는 동일한 사운드 파일을 반복 재생합니다. 왜 이런거야?SKAction runBlock이 예상대로 작동하지 않는 것 같습니다.
스프 라이트가 움직일 때마다이 동작을 실행하고, 멈출 때마다이 동작을 실행합니다. 일시 중지하고 일시 중지 해제하면 footstepFile이 변경되지만 계속 실행중인 경우 동일한 파일을 반복해서 재생합니다. runblock 그것을 지속적으로 무작위로해서는 안된다?
나는 SKAction.playSoundFileNamed()이와 라인에 예외를 얻을. EXC_BAD_ACCESS. 오, 잠깐 ... 이걸 고쳐 줬어. 단지 선언 만하는 행동이 아니기 때문이야. – Brejuro
그래,이 여전히 작동하지 않습니다, 나는 그것이 너무 빨리 여러 번 실행하려고 생각하고 있습니다. 그것은 깨졌습니다. – Brejuro
시도 할 다른 답변으로 바뀌 었습니다. – vacawama