ゲームオーバー画面を表示しよう1
スタート画面が完成したので、次はゲームオーバー画面を作っていきます。
そのためにまずはゲームオーバーを判定しましょう。
本講座では
- プレイヤーが画面外に飛び出たらゲームオーバー
- プレイヤーがブロックに衝突したらゲームオーバー
という2つの条件で、ゲームオーバーと判定したいと思います。
今回のレッスンでは、1つ目のプレイヤーが画面外に飛び出たらゲームオーバーと判定する処理を実現します。
それではまず、ゲームオーバーを判定するための関数 detectGameover
を定義してください。
function detectGameover() { if (player.y < 0 || player.y > 400) { gameState = "gameover"; } }
プレイヤーのY座標が0以下(画面の上)または400以上(画面の下)のときに、ゲームオーバーとしています。
ゲームオーバーのときは、ゲームの状態を保持する変数 gameState
を "gameover"
に変更することにします。
ここのif文ではOR条件を利用しています。
OR条件について詳しくは次の入門コースの「OR条件」のセクションをご覧ください: 条件分岐とは - 入門コース
次に detectGameover
関数を updateGame
関数から呼び出しましょう。
function updateGame() { if (gameState === "start") { return; } updatePlayer(); updateBlock(); detectGameover(); }
これでプレイヤーが画面外に飛び出たらゲームオーバーと判定する処理が実行されるようになりました。
ただし、現時点ではまだ判定されるだけでゲーム上の処理は変わりません。
次のレッスンでは、ゲームオーバーと判定されたらゲームオーバー画面を描画する処理を実現していきます。