gpt4 book ai didi

swift/ Sprite 套件 : Play music through specific scenes

转载 作者:可可西里 更新时间:2023-11-01 01:39:39 24 4
gpt4 key购买 nike

我有一个游戏,其中有几个教程场景。

我可以使用 AVFoundationAVAudioPlayer() 为每个场景添加音乐。

我需要做的是能够在特定场景中启动音乐,并让它仅在相关场景的背景中继续播放。

例如:

  1. 在教程菜单中启动tutorialMusic
  2. 继续 tutorialMusic 教程 A
  3. 继续教程 B 中的 tutorialMusic
  4. 在教程菜单中继续 tutorialMusic
  5. 停止 tutorialMusic 并在主菜单中播放 mainMenuMusic

我尝试过的

我尝试将 AVAudioPlayer() 放在 View Controller 中,但我发现它会传播到每个场景,无论它是什么。我也找不到 View Controller 的 AVAudioPlayer 实例来停止它。

我已经尝试将 tutorialMusic 添加到每个 Tutorial 场景,但是每次用户打开不同的 Tutorial 场景时都会重新启动音乐,这是草率的,如果用户快速移动,它会降级性能,真的很烦人。

我的问题

有没有办法在每个子教程场景中扩展主教程场景,以便可以访问 AVAudioPlayer 的主实例并在每个教程中传播?

最终我想确保在每个部分(教程菜单场景、教程 A 场景、教程 B 场景等)tutorialMusic 只启动一次并连续播放,直到用户退出回到主菜单。

谢谢!

最佳答案

您可能想要做的是使用Singleton。这样一来,您就可以在应用的任何位置使用声音播放器。

这可能符合您的需要:https://github.com/raywenderlich/SKTUtils/blob/master/SKTUtils/SKTAudio.swift (雷文德利希)。

像这样使用:SKTAudio.sharedInstance().playBackgroundMusic(filename: yourTutorialMusicName)。然后在您的菜单中用您的其他音乐再次调用它。

如果有帮助,请告诉我。

关于 swift/ Sprite 套件 : Play music through specific scenes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31191034/

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