如何播放来自另一个 class 的 SKAction 声音

How to play SKAction sound from another class

我有一个 class 和播放声音文件的方法:

import SpriteKit
import AVFoundation

class Sound: SKScene {

    func play(fileName:String){

            var sound = SKAction.playSoundFileNamed(fileName, waitForCompletion: false)
            runAction(sound)
    }
}

当我像这样从另一个 class 调用此方法时,没有播放声音(尽管包含一个 println 告诉我该函数正在执行)。

var sound = Sound()
sound.play("tick.mp3")

我无法通过另一个 class 播放声音文件吗?有人可以解释这是为什么吗?谢谢

您正在将声音 class 作为 skscene 的子class?你为什么要那样做?您的声音正在该场景的一个实例中播放 class。

我不确定你为什么不直接从主场景播放声音。那会更有意义

如果你真的需要这种声音class我想你可以subclass sknode并将该节点添加到你的主场景..