【发布时间】:2017-02-13 16:01:16
【问题描述】:
所以我一直试图让这个音频文件在游戏的所有场景中播放,但在 MenuScene 之后它就中断了。我从GameViewController 拨打MenuScene
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'MenuScene.sks'
if let scene = SKScene(fileNamed: "MenuScene") {
// Set the scale mode to scale to fit the window
然后在 MenuScene 中,我通过这样做开始音乐。
class MenuScene: SKScene {
var starfield:SKEmitterNode!
var newGameButtonNode:SKSpriteNode!
var difficultyButtonNode:SKSpriteNode!
var difficultyLabelNode:SKLabelNode!
var backgroundMusic:SKAudioNode!
override func didMove(to view: SKView) {
let backgroundMusic = SKAudioNode(fileNamed: "Snap.mp3")
backgroundMusic.autoplayLooped = true
addChild(backgroundMusic)
音乐开始播放。然后我在touchesBegan () 中,如果触摸 GameScene 按钮,它将加载该场景。我做了很长时间的过渡,以找出音乐何时停止并且它在整个过渡中播放,但是当GameScene 加载时它停止了。
if nodesArray.first?.name == "newGameButton" {
let transition = SKTransition.fade(withDuration: 5.0)
run(SKAction.wait(forDuration: 5.0), completion: {
self.backgroundMusic = SKAudioNode(fileNamed: "Snap.mp3")
self.backgroundMusic.autoplayLooped = true
self.addChild(self.backgroundMusic)
})
let gameScene = GameScene(size: self.size)
self.view!.presentScene(gameScene, transition: transition)
我希望它在整个游戏和 GameOver 场景中继续播放并永远循环播放。
【问题讨论】:
标签: ios xcode sprite-kit