我最近在我的遊戲中實施了AdMob,並且無法在我的GameScene中顯示廣告。當應用程序加載時,我從GameViewController加載MainMenu的場景,像這樣:在Swift中顯示AdMob廣告時發生場景變化
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
let skView = self.view as! SKView
skView.ignoresSiblingOrder = true
skView.showsFPS = true
skView.showsNodeCount = true
let mainMenu = MainMenu()
mainMenu.scaleMode = .aspectFill
mainMenu.size = view.bounds.size
skView.presentScene(mainMenu)
}
後,玩家按下開始,我改變現場GameScene,直到他們死了玩家玩遊戲。我向GameScene添加了一個觀察者,告訴GameViewController在廣告死亡後展示廣告。我創建了觀察員viewDidLoad中是這樣的:
var interstitial: GADInterstitial!
override func viewDidLoad() {
super.viewDidLoad()
interstitial = loadAd()
NotificationCenter.default.addObserver(self, selector: #selector(self.playerDied), name: NSNotification.Name("ShowAd"), object: nil)
NotificationCenter.default.post(name: NSNotification.Name("ShowingAd"), object: nil)
}
所以,當玩家死亡,我張貼「ShowAd」的通知中心和廣告穿過.isReady檢查,並顯示。但是,在廣告解散後,它將重新加載mainMenu場景,只是恢復gameScene。有誰知道顯示廣告的方式,但在顯示廣告後當前場景仍然是GameScene?謝謝。
感謝您的回覆。我嘗試過,但沒有奏效。然而,在嘗試了你的之後,它讓我想到了將它放在viewDidLoad中,它確實有效!感謝您幫助我解決問題! – Jake