gpt4 book ai didi

ios - SpriteKit SKAction.playSoundFile - waitForCompletion 不等待

转载 作者:行者123 更新时间:2023-11-29 01:20:22 25 4
gpt4 key购买 nike

我正在使用 Swift2 开发一些 SpriteKit 游戏。我有一个2部分的音频句子(两部分都是根据实际游戏情况计算的),我想在第1部分完成后播放第2部分。

这两行声音立即同时播放

self.runAction(SKAction.playSoundFileNamed("question-part-a.wav", waitForCompletion: true)
self.runAction(SKAction.playSoundFileNamed("question-part-b.wav", waitForCompletion: true)

但是,参数 waitForCompletion: true 有什么用?

我可以使用完成处理程序解决这个问题,当使用 runAction(action: SKAction, completion block: () -> Void) 但是,waitForCompletion 参数又是什么呢?

也许这完全是我的误解。有人可以给我提示吗?

提前致谢干杯约翰

最佳答案

您误解了 waitForDuration 的含义。在苹果文档中,这就是它的意思-

wait
If true, the duration of this action is the same as the length of the audio playback. If false, the action is considered to have completed immediately.

因此,如果您想按顺序运行它,请执行此操作。

let action1 = SKAction.playSoundFileNamed("question-part-a.wav", waitForCompletion: true)
let action2 = SKAction.playSoundFileNamed("question-part-b.wav", waitForCompletion: true)
runAction(SKAction.sequence([
action1,
action2
]))

在您的情况下,运行操作而不将它们放入 SKAction.sequence 意味着编译器同时执行两行代码。如果将 action1wait 设置为 false 并运行我的代码,将获得相同的结果。

关于ios - SpriteKit SKAction.playSoundFile - waitForCompletion 不等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34690799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com