怎样才能建立一个计数器来统计场景之间的转换?我想每过三局就播放一次广告。当玩家失败时,游戏将从PlayScene过渡到GameOverScene。在GameOverScene的开头,我想展示一个Interstitial广告。我对广告本身没有问题,只是数数场景而已。
这就是我目前正在尝试的:在PlayScene中:
var adcounter = 0
func gameOver() {
adcounter++
NSUserDefaults.standardUserDefaults().setInteger(adcounter, forKey: "overAd")在GameOverScene的didMoveToView中:
var counterAd : Int = NSUserDefaults.standardUserDefaults().integerForKey("overAd")
println("ad status \(counterAd)")它总是打印1
转换: PlayScene:当物体相互碰撞时-
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:当点击“重试”时-
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)
}发布于 2015-10-01 13:57:03
再走一步,你就会得到你想要的。
首先,在GameViewController的viewDidLoad中初始化overAd对象。
NSUserDefaults.standardUserDefaults().setInteger(0, forKey: "overAd")在gameOver PlayScene中修改您的PlayScene方法如下:
func gameOver() {
var adcounter = NSUserDefaults.standardUserDefaults().integerForKey("overAd")
adcounter++
NSUserDefaults.standardUserDefaults().setInteger(adcounter, forKey: "overAd")
}然后,在您转换到GameOverScene并获取保存在对象中用于键overAd的内容之后,您将发现它现在会增加,直到您重置它为止。
https://stackoverflow.com/questions/32884413
复制相似问题