iOS向けにcocos2dを使用してゲームを作っています。メインのゲームプレイレイヤーコンストラクターが呼び出されると、次の呼び出しでタッチを受け取るように登録されます。メニューレイヤがポップされた後にcocos2dレイヤーがタッチに反応しない
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self
priority:0
swallowsTouches:YES];
これは問題ありません。ユーザーがゲームを一時停止すると、私はCCDirector
にポーズメニューレイヤをプッシュします。ポーズメニューレイヤーは、上記と同じ方法でタッチを受信するように登録します。そのメニューの第1の選択肢は、ゲームを再開する(すなわち、メニュー層をポップし、進行中のゲームに戻る)ことである。しかし、これが起こると、ゲームプレイ層はタッチに反応しなくなります。
これを処理する最善の方法は何ですか?私はUpdate
へのすべての呼び出しで、ゲームプレイレイヤーをターゲットデリゲートとして登録することができたと思いますが、それはちょっとばかげているようです。ポーズメニューを閉じる前に代理人を再割り当てする方法はありますか?これを行うための受け入れられた方法がありますか?
残念ながら、これは、ポーズメニュー画面がポップされた後に起こっている:
は、ここに私の具体的な実装です。これによりオブジェクトが解放されます。 – jonmorgan