1

CCLayer一時停止機能として、人々に再試行、再開、または終了を示すモーダル ダイアログを作成したいと考えています。

メインレイヤーをカバーするためにスプライトを1つ追加し、タッチを有効にしないように設定しました。ただし、メインレイヤーのボタンもタッチできます。これを行う方法?ユーザーに1つのモーダルを表示するには?

4

2 に答える 2

0

私はHUDレイヤーでこれを達成しました。私が作成するすべてのゲームレイヤーには、HUDレイヤーがオーバーレイされています。HUDレイヤーにはCCMenu、ゲームを一時停止するための一時停止画像があります。

プレーヤーがゲームを一時停止すると、HUDレイヤーは、ゲームCCMenuを再開、終了、または再開するための別のレイヤーを表示します。また、HUDはBOOLisPausedも保存します。(ccTouchBeganゲームレイヤー上で)HUD.isPausedがあるかどうかを確認し、戻っている場合は戻りNO、そうでない場合は戻りYESます。これにより、ゲーム内の不要なタッチが解決されます。

于 2012-06-11T11:40:30.010 に答える
0

設定isTouchEnabled:は、レイヤーの子ではなく、レイヤーに対してのみタウチを無効にします。つまり、レイヤーにタッチ デリゲート メソッドがある場合、isTouchEnabled:が に設定されている場合、それらのメソッドは呼び出されませんNO。CCMenu インスタンスまたはその他のタッチ可能な子がある場合は、そのisTouchEnabled:プロパティを個別に変更する必要があります。

于 2012-06-11T11:17:05.003 に答える