0
私はこのオーディオファイルをゲームのすべてのシーンで再生しようとしていますが、MenuSceneの後は切り取られています。私はその後、MenuSceneに私はこれを行うことにより、音楽を始める音楽がシーンチェンジ後に再生されなくなる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
GameViewController
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)
音楽が再生されます。 GameSceneボタンがタッチされると、そのシーンがロードされます。touchesBegan()
私は、音楽が停止して全トランジションで再生されたときに、本当に長い間トランジションを実行しましたが、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)
ゲーム全体やゲームオーバーシーンで再生を続け、永遠にループしたいと思っています。
どのように私はこれを試してみましたか、私はこれを試して、それは各シーンを介して1回だけ再生されます。 – cuber
私の更新された答えを確認してください –
私はあなたがそれのすぐ下に追加した行を入れて、曲は繰り返されませんでした。これは、私のMenuSceneはゲームの始めにしか呼び出されませんが、GameSceneとGameOverSceneは、尊重されたボタンが押されたときにお互いを呼び出すためです。 MenuSceneで再生し、GameSceneとGameOverScenesで繰り返し再生するにはどうすればよいですか? – cuber