首页 > 解决方案 > 是否有一个真正的错误方法来查看当前的 SKView 是什么?

问题描述

我试图在用户观看视频后向他们提供奖励。我不确定我是否可以有两个不同的 rewardBasedVideoAds 函数。所以,我需要两个场景都指向这个基于奖励的视频广告功能,然后在广告完成后将用户送回各自的场景。有没有办法用 SKScene 视图做到这一点?我做错了吗?我会很感激反馈。谢谢!

 func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd, didRewardUserWith reward: GADAdReward) {
    if let view = self.view as! SKView? {
        if view.self == GameScene.self {
            continueBasic = continueBasic + 1
            let scene = GameScene(size: view.bounds.size)
            view.presentScene(scene)
        }
        if view == self.view as? ClassicScene{
            continueRGB = continueRGB + 1
            let scene = ClassicScene(size: view.bounds.size)
            view.presentScene(scene)
        }
    }

标签: swiftsprite-kitadmob

解决方案


基本上,我应该只赋予一个变量随场景变化的能力,这样如果显示当前场景,我可以通过编写如下内容来更改变量:

currentScene = "GameScene"

无论哪种方式,这是成品。希望它可以帮助某人!

func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd, didRewardUserWith reward: GADAdReward) {
    if let view = self.view as! SKView? {
        if currentScene == "GameScene" {
            continueBasic = continueBasic + 1
            let scene = GameScene(size: view.bounds.size)
            view.presentScene(scene)
        } else if currentScene == "ClassicScene"{
            continueRGB = continueRGB + 1
            let scene = ClassicScene(size: view.bounds.size)
            view.presentScene(scene)
        }

推荐阅读