Swift-使用NSNotification在SpriteKit中显示广告?

时间:2015-03-12 06:28:56

标签: swift sprite-kit nsnotificationcenter nsnotifications skscene

所以我在SpriteKit中有一个几乎完全编码的游戏,现在我想在玩家死亡时广告插页式广告。我相信NSNotifications将是最好的方式,但我正在努力解决这个问题。

所以我有一个设置为显示插页式广告的UIViewController,它可以工作,但是当用户去世时我无法显示它。

以下是ViewController中的一些代码,它具有在其中加载广告的所有功能。我相信这是我使用addObserver接收NSNotification的地方,但我不确定。

class ViewController: UIViewController, ADInterstitialAdDelegate {


override func viewDidLoad() {
    super.viewDidLoad()

    NSNotificationCenter.defaultCenter().addObserver(self, selector: "showAdSelector", name: "showAnAd", object: nil)
}

func showAdSelector() {
    loadAd() //loads the ad
}

然后,这是我在PlayScene.swift文件中使用的代码,这是一个SKScene。

class PlayScene: SKScene, SKPhysicsContactDelegate {


func didBeginContact(contact:SKPhysicsContact) {
    loadAnAd()        
    }

func loadAnAd() {
    NSNotificationCenter.defaultCenter().postNotificationName("showAnAd", object: nil)
    }

}

当玩家死亡并启动didBeginContact功能时,没有任何反应。我确定我做的事情非常糟糕,但我一直试图找到答案并观看教程几个小时,但我仍然无法解决。我会非常感激有人可以帮助我解决这个问题或者指出我正确的方向!谢谢!

1 个答案:

答案 0 :(得分:0)

您发布的通知"showAnAd"和您发现的通知"ShowAnAd"不同。他们必须完全匹配以防万一。尝试

NSNotificationCenter.defaultCenter().addObserver(self, selector: "showAdSelector", name: "showAnAd", object: nil)

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