gpt4 book ai didi

ios - SKAudioNode 定位音频似乎不起作用

转载 作者:可可西里 更新时间:2023-11-01 02:18:00 25 4
gpt4 key购买 nike

我正在尝试实现 Apple 添加到 SpriteKit 的“3d”音频,但声音似乎根本没有定位,即使戴着耳机也是如此。这是我的相关代码。

播放声音函数:

func playTapSound(node: SKNode) {
let tapSound = SKAudioNode(fileNamed: "glassNote")
tapSound.positional = true
tapSound.autoplayLooped = false
node.addChild(tapSound)
tapSound.runAction(SKAction.play())
}

游戏场景:

let listenerNode = SKNode()
...
override func didMoveToView(view: SKView) {
listenerNode.position = view.center
listener = listenerNode
}

playTapSound 在用户点击游戏节点时被调用。

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let touchedNode = scene.nodeAtPoint(sceneTouchPoint)
playTapSound(touchedNode)
}

我已经检查了包括监听器节点在内的所有节点的位置,它们都是正确的。监听器节点在屏幕中央,游戏棋子基本上是棋盘布局。

当我点击一个片段时,我真的无法分辨出音频上有任何定位。它只是非常微妙吗?除了苹果公司说它是 SpriteKit 的一部分之外,找不到太多关于它的信息..

最佳答案

原来我的错误是在将它设置为监听器之前没有将我的 listenerNode 添加到场景中。

来自 listener 的文档:

If a non-nil value is specified, it must be a node in the scene.

游戏场景更新和验证:

let listenerNode = SKNode()
...
override func didMoveToView(view: SKView) {
listenerNode.position = view.center
addChild(listenerNode)
listener = listenerNode
}

关于ios - SKAudioNode 定位音频似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35006343/

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