Cocos2D を使用して iOS 用のゲームを作成しています。私のゲームには、ゲームのプレイ中にプルアップできる一時停止メニューがあります。一時停止メニューからタップするだけでゲームに戻ります。私が実装したいのは、メソッドapplicationDidBecomeActive
が呼び出された場合に一時停止メニューでゲームを再開するクリーンな方法です。問題は、 appDelegate だけが への呼び出しを受け取り、applicationDidBecomeActive
一時停止メニューがそれよりも何層も深いことです。現在、私は本質的にapplicationDidBecomeActive
約 4 つの異なるレイヤーを介して呼び出しを渡し、一時停止メニューに到達しています。よりクリーンな方法があるはずですか?
3 に答える
3
確かにそうです。UIApplicationDidBecomeActiveNotification
便利な場所からのオブザーバーを追加するだけです。アプリケーションの状態の変更は、アプリのデリゲートを介してフックすることも、その方法でフックすることもできます。
(ドキュメントはこちら。 )
于 2013-02-17T21:35:10.643 に答える
1
こことAppleでNSNotificationCenterについて読む か、どこでもUIApplicationDidBecomeActiveNotificationを受け取ってください。
于 2013-02-17T21:36:26.973 に答える
1
プロパティを使用して appdelegate.h の BOOL 変数を取得し、それを合成してから、任意のシーンで一時停止ボタンが押されたときに、この変数を yes に設定します。appdelegate の applicationDidBecomeActive メソッドで if(self.pause == YES) をチェックしてから、ccdirector を再開しないでください。それ以外の場合は再開します。ゲームでこれを使用しました。一時停止を押してからホームボタンを押すと、アプリは正常に動作します。まだ一時停止します。これを試して
于 2013-02-20T05:55:25.587 に答える