gpt4 book ai didi

swift - 在 Swift 中显示 AdMob 广告时场景发生变化

转载 作者:行者123 更新时间:2023-11-30 12:13:27 26 4
gpt4 key购买 nike

我最近在游戏中实现了 AdMob,但在 GameScene 中显示广告时遇到问题。当应用程序加载时,我从 GameViewController 加载 MainMenu 场景,如下所示:

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 ?谢谢。

最佳答案

我猜测当广告被关闭时,viewController 的 func viewWillLayoutSubviews() 被调用。尝试将 func viewWillLayoutSubviews() 中的所有代码放入 override func viewWillAppear(_animated: Bool)

关于swift - 在 Swift 中显示 AdMob 广告时场景发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45739386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com