プレイヤーはライフ 3 でスタートします。危ないもの(トゲ、敵など)に触れるたびに 1 つ減り、体力バーが下がります。0 になると Game Over:ステージが最初から始まります。
用意するもの:
- 動かせる player という名前のキャラクター(キャラクターを動かす を参照);
- 危ないものを 1 つ以上、たとえば spikes1、spikes2… という名前の赤い四角形;
- 体力バー:画面の上にある healthBar という名前の プログレスバー オブジェクト(プログレスバー)。
ステップ 1:危ないものとバーを準備する
- 危ないものをそれぞれ選び、「タグ (ラベル)」 欄に danger と書きます。
- healthBar を選びます。インスペクターの 「プログレスバー」 で:最小値 = 0、最大値 = 3、現在値 = 3。
ステップ 2:変数「vie」を作る
- 左のパネルの 変数 の欄で、変数を作ります。
- 名前:vie(体力)· 範囲:ローカル · 型:整数 · 最初の値:3。
ステップ 3:ライフを 1 つ減らす
- シーンの ブループリント を開きます。
- 「オブジェクトがタグに触れた場合」 イベントを追加します:ターゲット player、タグ danger。
- 「変数に加算」 を追加します:変数 vie、加算する値 = -1(マイナスをつけて減らします)。
- 「進捗を設定」 を追加します:ターゲット healthBar、新しい進捗 =
=vie - 3 つのノードを順番につなぎます。
オブジェクトがタグに触れた場合ターゲット:player · タグ:danger
→
変数に加算vie · - 1
→
進捗を設定healthBar · =vie
👉 「新しい進捗」 に
=vie と書くと、「変数 vie の値を使う」という意味になります。だからバーはいつもライフの数と同じになります。ステップ 4:Game Over
- 「進捗を設定」 のあとに 「条件」 ノードを追加し、条件 =
=vie <= 0(「vie が 0 以下」)にします。 - その 真 出力を 「シーンをやり直す」 ノード(カテゴリー シーンとHUD)につなぎます。
- 保存してゲームを開始し、危ないものに 3 回触れてみます。
進捗を設定healthBar
→
条件=vie <= 0
真 →
シーンをやり直す
👉 「シーンをやり直す」 はすべてを最初の状態に戻します:オブジェクトは元の場所に、範囲が 「ローカル」 の変数(つまり vie = 3)は最初の値に戻ります。
👉 ちゃんとした終了画面を出したい? すぐにやり直す代わりに、真 出力を 「テキストを変更」(「負け!」という文字)、次に 「待つ」(2 秒)、次に 「シーンをやり直す」 につなぎます。
おまけ:穴に落ちる
アクションゲームなら、シーンのいちばん下に fallZone という名前の ゾーン オブジェクトを置きます(ゾーンはゲーム中は見えません)。そして:
衝突 A/Bオブジェクト A:player · オブジェクト B:fallZone
→
シーンをやり直す
うまくいかないとき
- 体力が減らない: 危ないものそれぞれに danger タグがあるか、-1 にマイナスがついているか確認してください。
- バーが動かない: 「進捗を設定」 のターゲットは、最大値 3 のプログレスバーでなければなりません。
- ゲームがやり直しにならない: 条件は 真 出力でつながっている必要があります。