CCLayer
一時停止機能として、人々に再試行、再開、または終了を示すモーダル ダイアログを作成したいと考えています。
メインレイヤーをカバーするためにスプライトを1つ追加し、タッチを有効にしないように設定しました。ただし、メインレイヤーのボタンもタッチできます。これを行う方法?ユーザーに1つのモーダルを表示するには?
CCLayer
一時停止機能として、人々に再試行、再開、または終了を示すモーダル ダイアログを作成したいと考えています。
メインレイヤーをカバーするためにスプライトを1つ追加し、タッチを有効にしないように設定しました。ただし、メインレイヤーのボタンもタッチできます。これを行う方法?ユーザーに1つのモーダルを表示するには?
私はHUDレイヤーでこれを達成しました。私が作成するすべてのゲームレイヤーには、HUDレイヤーがオーバーレイされています。HUDレイヤーにはCCMenu
、ゲームを一時停止するための一時停止画像があります。
プレーヤーがゲームを一時停止すると、HUDレイヤーは、ゲームCCMenu
を再開、終了、または再開するための別のレイヤーを表示します。また、HUDはBOOL
isPausedも保存します。(ccTouchBegan
ゲームレイヤー上で)HUD.isPausedがあるかどうかを確認し、戻っている場合は戻りNO
、そうでない場合は戻りYES
ます。これにより、ゲーム内の不要なタッチが解決されます。
設定isTouchEnabled:
は、レイヤーの子ではなく、レイヤーに対してのみタウチを無効にします。つまり、レイヤーにタッチ デリゲート メソッドがある場合、isTouchEnabled:
が に設定されている場合、それらのメソッドは呼び出されませんNO
。CCMenu インスタンスまたはその他のタッチ可能な子がある場合は、そのisTouchEnabled:
プロパティを個別に変更する必要があります。