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