Reputation: 191
How can one set up a counter that counts transitions between scenes? I want to show an ad every third game over. When player fails game is transitioned from PlayScene to GameOverScene. And at start of GameOverScene I want to present an Interstitial ad. I have no troubles with ads themselves, just with counting scenes.
That's what I'm currently trying: In PlayScene:
var adcounter = 0
func gameOver() {
adcounter++
NSUserDefaults.standardUserDefaults().setInteger(adcounter, forKey: "overAd")
In GameOverScene's didMoveToView:
var counterAd : Int = NSUserDefaults.standardUserDefaults().integerForKey("overAd")
println("ad status \(counterAd)")
It always prints 1
Transitions: PlayScene: When objects are hitting each other –
func gameOver() {
println("TOTAL GAMEOVER")
adcounter++
NSUserDefaults.standardUserDefaults().setInteger(score, forKey: "overScore")
NSUserDefaults.standardUserDefaults().setInteger(adcounter, forKey: "overAd")
var scene = GameOverScene(size: self.size)
var transition:SKTransition = SKTransition.crossFadeWithDuration(0.5)
let skView = self.view as SKView!
skView.ignoresSiblingOrder = true
scene.scaleMode = .AspectFill
skView.presentScene(scene, transition: transition)
}
GameOverScene: When hit "retry" –
func reset() {
var scene = PlayScene(size: self.size)
var transition:SKTransition = SKTransition.crossFadeWithDuration(0.5)
let skView = self.view as SKView!
skView.ignoresSiblingOrder = true
scene.scaleMode = .AspectFill
skView.presentScene(scene, transition: transition)
}
Upvotes: 1
Views: 44
Reputation: 4423
Just one more step and you will get what you want.
Firstly, initialize overAd
object in viewDidLoad
of GameViewController:
NSUserDefaults.standardUserDefaults().setInteger(0, forKey: "overAd")
Modify your gameOver
method in PlayScene like this:
func gameOver() {
var adcounter = NSUserDefaults.standardUserDefaults().integerForKey("overAd")
adcounter++
NSUserDefaults.standardUserDefaults().setInteger(adcounter, forKey: "overAd")
}
Then after you transition to GameOverScene and get what saved in object for key overAd
, you will find it now increments until you reset it.
Upvotes: 1