1

SpriteKit ゲームを迅速に設計しています。ゲームプレイ SKScene 内に、ゲームを一時停止するときに呼び出されるメソッドがあります。次のようになります。

func pause() {
    view?.paused = true
}

ゲームは完全に一時停止しますが、一見任意の時間 (1 秒から 120 秒) が経過すると、ゲームは再開 () メソッドを呼び出すことなく、一時停止を解除/再開します。アプリがアクティブになるとスプライト キットがゲームプレイを自動的に再開することは承知していますが、applicationDidBecomeActive にブレークポイントを設定しましたが、呼び出されません。なぜこれが起こっているのか誰にも分かりますか?

独自の一時停止プロパティを設定して、更新ループごとにチェックできることはわかっていますが、機能させることができれば、このエレガントなソリューションがはるかに好きです!

4

1 に答える 1

0

問題は私の ADBannerViewDelegate の実装でした。これが犯人です:

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    skView.paused = false
    println("bannerView:didFailToReceiveAdWithError called inside GameViewController class")
}

.paused = false ステートメントを持つすべてのメソッド内にこれらの println 呼び出しを配置することで、問題を解決しました。ほとんどの場合、バナーは正常に読み込まれますが、ブルームーンに一度は失敗し、そのメソッドを呼び出します。

于 2015-02-18T01:32:34.960 に答える