将 ViewController 中的函数传递给 GameOverScene.swift

Pass function in ViewController to GameOverScene.swift

我试图将 ViewController 中的函数传递给 GameOverScene。我看到了很多答案,但没有一个对我有用。所以我希望有人能帮助我。 我制作的功能适用于我从 youtube 上的 greeky lemons 教程中获得的插页式 AdMob。如果玩家死亡,我想展示广告。

所以在 GameViewController.swift 我使用这个函数:

func ShowAd(sender: AnyObject) {

    if (interstital.isReady) {

        interstital.presentFromRootViewController(self)
        interstital = CreateAd()

    }

}

现在我不知道如何在 GameOverScene.swift 中使用此功能。 有谁知道如何解决这个问题?如果您需要更多信息,请告诉我。非常感谢你! :)

我今天直接回答了一个类似的问题,最简单的方法是 NSNotification Center

本质上是在您的视图控制器中使用您的 showAd 函数在 viewDidLoad 中添加一个观察者。

 NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(showAd(_:)), name: "ShowInterAdKey", object: nil)

选择器是要调用的函数,名称是引用此观察者的键。

比起在你的游戏场景中,当你想显示广告时,你 post 使用你的密钥通知。

 NSNotificationCenter.defaultCenter().postNotificationName("ShowInterAdKey", object: nil)

查看此答案以获取更多详细信息,因为您的代码看起来与我的回答非常相似。 您应该在展示广告之前制作广告,而不是相反。 为了让它变得更好,你实际上应该更早地预加载它,而不是在尝试显示它时。