Ios 复制SKAudioNode对象时出现问题
我目前正在字典中预加载音效,例如:Ios 复制SKAudioNode对象时出现问题,ios,swift,sprite-kit,skaudionode,Ios,Swift,Sprite Kit,Skaudionode,我目前正在字典中预加载音效,例如: soundEffectsDictionary[SoundEffectType: SKAudioNode] 这样做可以让我预先加载游戏中的所有音效,并根据需要请求音效。为了演示的目的,我对其进行了简化: 让fxBoom=soundEffectsDictionary[SoundEffectType.fxBoom]!。复制()为!SKAudioNode 这与SKSpriteNodes、SKTextures等的工作方式相同。但是,SKAudioNode似乎不能以这种
soundEffectsDictionary[SoundEffectType: SKAudioNode]
这样做可以让我预先加载游戏中的所有音效,并根据需要请求音效。为了演示的目的,我对其进行了简化:
让fxBoom=soundEffectsDictionary[SoundEffectType.fxBoom]!。复制()为!SKAudioNode
这与SKSpriteNodes
、SKTextures
等的工作方式相同。但是,SKAudioNode
似乎不能以这种方式生成副本。当我尝试将副本添加到屏幕时,它们不会播放
SKAudioNode
?如果我想玩fxBoom两次,重叠,那么我需要两个单独的节点。出于性能原因,我不想从磁盘加载该文件,这就是我试图预加载声音的原因 let audioNode = SKAudioNode(fileNamed: "fxBoom.mp3")
self.addChild(audioNode) //audio plays, looping indefinitely
let audioNode = SKAudioNode(fileNamed: "fxBoom.mp3")
let audioNode2 = audioNode.copy() as! SKAudioNode
self.addChild(audioNode2) // audio does not play
audioNode2.run(SKAction.play()) // no difference
audioNode2.isPaused = false // no difference
您是否也在其上运行了播放操作?是的,仍然没有声音。您可以发布一个示例吗?@Knight0fDragon发布了示例代码。谢谢你的帮助。我还以为你说你在做动作呢?还要确保node.isPaused为false