SKAction.playSoundFileNamed在iOS 9中不起作用

时间:2015-09-22 17:42:25

标签: sprite-kit ios9 xcode7 skaction

我认为我的游戏工作几乎和iOS 9出现之前一样......

我已经包含了整个功能,但我唯一遇到的问题是功能开头的声音效果:

func collisionHappened() {
       let bangSoundEffect = SKAction.playSoundFileNamed("Bang.mp3", waitForCompletion: false)
        runAction(bangSoundEffect) //nothing happens here

    let defaults = NSUserDefaults()
    let highscore = defaults.integerForKey("highscore")
    if (score > highscore){
        defaults.setInteger(score, forKey: "highscore") }
    var showHighScore = defaults.integerForKey("highscore")
    let userDefaults = NSUserDefaults.standardUserDefaults()
    var totalScore = userDefaults.integerForKey("totalScoreKey")
    totalScore += self.score
    userDefaults.setInteger(totalScore, forKey: "totalScoreKey")
    var current = defaults.integerForKey("currentscore")
    defaults.setInteger(score, forKey: "currentscore")
    var showcurrentscore = defaults.integerForKey("currentscore")
     backgroundMusicPlayer.stop()
 let explosion = SKEmitterNode(fileNamed: "rocketExplosion") { 
    explosion.position = rocket.position
    explosion.zPosition = 100
    addChild(explosion) }

    rocket.removeFromParent() 
    let sceneChange = gameOverScene(size: self.size) //change scene
    sceneChange.scaleMode = scaleMode
    let reveal = SKTransition.crossFadeWithDuration(1.5)
    self.view?.presentScene(sceneChange, transition: reveal)
    reveal.pausesOutgoingScene = false }

适用于iOS 8,但在iOS 9中没有任何反应。改变了什么?没有错误,只是没有任何事情发生。如果它有所不同,声音效果大约是半秒钟。

更新:我尝试将println()(现在是print lol)添加到此函数中,以确保我的碰撞和调用没有任何问题。它是,并且该函数的其余部分工作正常,因此问题仅在于SKAction :(

1 个答案:

答案 0 :(得分:0)

我找到了答案...也许会对您有所帮助

self.runAction(SKAction.playSoundFileNamed(“Achievement.caf”, waitForCompletion: false))