gpt4 book ai didi

objective-c - 在 waitforCompletion 为 YES 时立即删除 SKAction(正在播放 MP3)

转载 作者:搜寻专家 更新时间:2023-10-30 20:25:10 24 4
gpt4 key购买 nike

当两个节点发生冲突时,我试图删除重复播放的 MP3。

SKAction* gameBeat = [SKAction playSoundFileNamed:@"gameBeat.mp3" waitForCompletion:YES];
SKAction* gameBeatLoop = [SKAction repeatActionForever: gameBeat];
[self runAction:gameBeatLoop withKey:@"gameBeatzz"];

然后在我的代码中进行碰撞工作我把:

[self removeActionForKey:@"gameBeatzz"];

但它会等到 MP3 播放完毕,这是我不想要的。

如果我将 waitForCompletion 更改为 NO,APP 就会变得一团糟,什么也做不了。

我如何立即删除 Mp3 而不是等待 MP3 文件完成

最佳答案

正常,如果您将waitForCompletion bool 值设置为NO,应用程序不会执行任何操作。这是因为操作被认为已立即完成。

playSoundFileNamed 的操作是不可逆的,并且在移除时对场景进行最终更改,它会一直持续到最后...
当您执行 removeAction 方法时,一些 SKAction 会从节点中完全删除,但有些会继续工作。

创建 playSoundFileNamed 是为了播放短音而不是背景 声音。

我建议使用 AVAudioPlayer,它可以让您更好地控制音乐。

关于objective-c - 在 waitforCompletion 为 YES 时立即删除 SKAction(正在播放 MP3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20024648/

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