Swift 你如何将间隙iAd呈现的场景冻结?

Swift 你如何将间隙iAd呈现的场景冻结?,swift,sprite-kit,iad,Swift,Sprite Kit,Iad,嘿,大家好,我终于让我的间隙iAd工作了,但我遇到了一个小问题。当用户在我的游戏中点击replay时,它会在加载指令场景之前立即加载我的间隙iAd,但如果我点击iAd,它会加载我的游戏场景。在我的指令场景中,当您准备好玩时,只需轻触即可开始。因此,当显示iAd时,如何暂停指令场景,以便用户点击广告时不会触发游戏开始 我的GameOver场景中的代码 func interstitialAdChecker(){ var randomAd = Int(arc4random() % 3)

嘿,大家好,我终于让我的间隙iAd工作了,但我遇到了一个小问题。当用户在我的游戏中点击replay时,它会在加载指令场景之前立即加载我的间隙iAd,但如果我点击iAd,它会加载我的游戏场景。在我的指令场景中,当您准备好玩时,只需轻触即可开始。因此,当显示iAd时,如何暂停指令场景,以便用户点击广告时不会触发游戏开始

我的GameOver场景中的代码

func interstitialAdChecker(){
    var randomAd = Int(arc4random() % 3)
    println(randomAd)

    if randomAd == 1 {
        interstitialBool = true
    }
}

func interstitialAd(){
    NSNotificationCenter.defaultCenter().postNotificationName("showInterstitialAdsID", object: nil)
}
当用户点击replay时调用此代码:

    for touch: AnyObject in touches {
        let location = touch.locationInNode(self)
        if self.nodeAtPoint(location) == self.replayButton {
            if interstitialBool == true {
                interstitialAd()
            }

            var scene = InstructionScene(size: self.size)
            let skView = view as SKView!
            skView.ignoresSiblingOrder = true
            scene.anchorPoint = CGPoint(x: 0.5, y: 0.5)
            scene.scaleMode = .ResizeFill
            scene.size = skView.bounds.size
            skView.presentScene(scene, transition: transition)
        }
     }
我的说明中的代码场景

func interstitialAdChecker(){
    var randomAd = Int(arc4random() % 3)
    println(randomAd)

    if randomAd == 1 {
        interstitialBool = true
    }
}

func interstitialAd(){
    NSNotificationCenter.defaultCenter().postNotificationName("showInterstitialAdsID", object: nil)
}
在我的指令场景中,我设置了以下代码,用于将场景切换到播放场景:

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {    
    for touch: AnyObject in touches {
        var scene = PlayScene(size: self.size)
        let skView = view as SKView!
        skView.ignoresSiblingOrder = true
        scene.anchorPoint = CGPoint(x: 0.5, y: 0.5)
        scene.scaleMode = .ResizeFill
        scene.size = skView.bounds.size
        skView.presentScene(scene, transition: transition)
    }
}

基本上,用户只需触摸屏幕,它就会将场景切换到我的播放场景。

您可以使用
skView.paused=true
暂停场景,然后使用
skView.paused=false
再次播放场景

当属性设置为true时,内容是固定的,并且没有物理模拟


如果您不介意我问,您将在哪里实现skView.pause=true?在视图控制器中的间隙函数中?条件满足后的场景?我会将其放在显示广告的方法中。我有一个类型,它是
skView.paused=true
。我会找到答案的。