嘿所有这些我终于得到了我的插页式iAd的工作,但我遇到了一个小问题。当用户在我的游戏中点击重播时,它会在加载InstructionScene之前立即加载我的插页式广告iAd,但是如果我点击iAd,它会加载我的GameScene。在我的InstructionScene上,你只需点击即可开始准备比赛。因此,在显示iAd时,如何暂停InstructionScene,以便当用户点击广告时,它不会触发游戏开始?
我的GameOver场景中的代码
func interstitialAdChecker(){
var randomAd = Int(arc4random() % 3)
println(randomAd)
if randomAd == 1 {
interstitialBool = true
}
}
func interstitialAd(){
NSNotificationCenter.defaultCenter().postNotificationName("showInterstitialAdsID", object: nil)
}
当用户点击重播时,会调用此代码:
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)
}
}
我的InstructionScene中的代码
在我的InstructionScene中,我将此代码设置为将场景切换到PlayScene:
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)
}
}
基本上用户只需要触摸屏幕,它就会将场景切换到我的PlayScene。
答案 0 :(得分:0)
您可以使用skView.paused = true
暂停场景,然后使用skView.paused = false
再次播放场景。
当属性设置为true时,内容是固定的,没有物理模拟。