所以我在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功能时,没有任何反应。我确定我做的事情非常糟糕,但我一直试图找到答案并观看教程几个小时,但我仍然无法解决。我会非常感激有人可以帮助我解决这个问题或者指出我正确的方向!谢谢!
答案 0 :(得分:0)
您发布的通知"showAnAd"
和您发现的通知"ShowAnAd"
不同。他们必须完全匹配以防万一。尝试
NSNotificationCenter.defaultCenter().addObserver(self, selector: "showAdSelector", name: "showAnAd", object: nil)
和
NSNotificationCenter.defaultCenter().postNotificationName("showAnAd", object: nil)