Also habe ich versucht, diese Audiodatei durch alle Szenen des Spiels zu spielen, aber es schneidet nach dem MenuScene ab. Ich nenne das MenuScene
von GameViewController
Musik Stoppt nach dem Szenenwechsel SKAudioNode Xcode 8
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
Dann in der MenuScene ich die Musik, indem Sie diese starten.
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)
Die Musik beginnt zu spielen. Dann habe ich in der touchesBegan()
, wenn der GameScene-Button berührt wird, wird diese Szene geladen. Ich habe den Übergang wirklich lange gemacht, um herauszufinden, wann die Musik aufhört und den ganzen Übergang durchspielt, aber wenn die GameScene
geladen ist, stoppt sie.
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)
Ich möchte, dass es während des Spiels und in der GameOver-Szene weiterspielt und für immer weiterläuft.
Wie bekomme ich es zu wiederholen, obwohl ich es versucht habe und es würde durch jede Szene aber nur einmal abspielen. – cuber
Überprüfen Sie meine aktualisierte Antwort –
Ich habe die Zeile, die Sie hinzugefügt haben, direkt darunter gesetzt und das Lied wurde nicht wiederholt. Ich glaube, das liegt daran, dass meine MenuScene nur zu Beginn des Spiels aufgerufen wird, aber GameScene und GameOverScene sich gegenseitig aufrufen, wenn die entsprechenden Tasten gedrückt werden. Wie kann ich es im MenuScene spielen und in den GameScene und GameOverScenes wiederholen? – cuber