がりらぼ

WindowsRuntimeの応援ブログ

Backボタンを押した時に終了しないようにする

基本的にはXNAでWPゲームを作る時、端末のBackボタンを押した時の挙動は
タイトル画面→ゲーム終了
プレイ画面→一時停止
その他→前の画面に戻る
にしないと審査を通過できません。

しかし、デフォルトの挙動だと、どの画面でもBackボタンを押すとゲームが終了します。

そこでどうやったら終了しないか頑張って探しました...
どのプロパティをいじればいいんだろうとさがしていたら、実は自動で生成されたGame1.csクラスの中のUpdateメソッド内に見事に

//ゲームの終了条件をチェックします
if(GamePad.GetState(PlayerIndex.One).Buttons.Back==ButtonState.Pressed)
this.Exit();

と見事に書いてありました。
終了させたくないならこの行を消しましょう。

あとはこの↑のif文を各種画面で使ってやればBackボタンをフックできます。

これで30分ぐらい詰んでました...