リトライできるようにしよう

ゲームのリトライができるようにしましょう。
ゲームオーバー画面でマウスクリックすると、ゲームを最初から開始できるようにしていきます。

マウスクリックを検知するためには、mousePressed 関数が使えるのでした。

mousePressed 関数の部分を、次のように変更してください。

function mousePressed() { if (gameState === "start") { gameState = "play"; } else if (gameState === "gameover") { gameState = "play"; } }

これで、ゲームオーバー画面のときにマウスクリックするとゲームが開始するようになります。
ゲームを起動して、確かめてみましょう。

どうでしたか?
ゲームは動いたけれど、何かおかしいですね。
どうやら、ゲームの続きから再開してしまっているようです。

現時点では、コースもスコアもそのままの状態で、ゲームが再開してしまいます。
そこで、リトライのときはコースとスコアを初期状態にリセットするようにしましょう。

まず、setup 関数を次のように変更してください。

function setup() { createCanvas(400, 400); rectMode(CENTER); textAlign(CENTER, CENTER); resetGame(); } function resetGame() { score = 0; createRoads(); }

新しくresetGame 関数を定義し、setup 関数から呼び出すようにしました。
そして元々 setup 関数から呼び出していた createRoads 関数を、 resetGame 関数から呼び出すようにしました。
さらに、score を0にリセットする処理も追加しました。

次に、mousePressed 関数の部分を、次のように変更してください。

function mousePressed() { if (gameState === "start") { gameState = "play"; } else if (gameState === "gameover") { resetGame(); gameState = "play"; } }

リトライのときは、 resetGame 関数を実行するようにしました。

ここまでできたらゲームを起動してみましょう。
無事にリトライができるようになったと思います!

リトライ

いよいよ大詰めです。
最後に、プレイヤーとして画像を表示しましょう!

オンライン相談

つまづいたときは

レーシングゲーム
レッスン一覧

はじめに

コース一覧

ゲーム開発コース

数学コース

アートコース

入門コース

このサイトについて


© 2022 ルートアイ All rights reserved.