「30分で作ろう」シリーズ(2) マイジャンプ!
5.ゲームオーバーを作ろう
目的
- 主人公が、コースから外れて、水オブジェクトに接触した場合、ゲームオーバーとする処理を実装します。
- 接触した際、ゲームステータスを2に変更し、ゲームオーバーの状態とします。
使用する変数
| 名前 | 種類 | 説明 |
| ゲームステータス | 変数 | ゲーム画面の種類を管理する。 |
| タイム | 変数 | ゲーム時間をカウントします。 |
| スコア | 変数 | 獲得したスコアをカウントします。 |
使用するオブジェクト
| 名前 | カテゴリー | 説明 |
| カメラ | – | ゲーム内カメラアングルを指定 |
| プレーン(草) | – | – |
| プログラム | モデル/プログラム | 初期化 ゲームステータス管理等 |
| 水 | モデル/自然 | |
| マイ | モデル/人 | 操作キャラクター |
| ジョイパッド | ツール | |
| Aボタン | ツール | |
| 草ブロック(高)_1~6 | モデル/素材 | |
| 木ブロック_1~3 | モデル/素材 | |
| 橋_1~2 | モデル/素材 | |
| リスタート | ツール | ボタン |
| リング1~6 | モデル/小物 | |
| GameOver | ツール | |
| スコア表示 | ツール/テキスト | タイトル(右) |
| タイム表示 | ツール/テキスト | タイトル(右) |
| スコア結果表示 | ツール/テキスト | タイトル(中央) |
作成手順
ゲームオーバー表示を作ります
水オブジェクト配置
- オブジェクト追加より、モデルを指定し、水を選択し、オブジェクト一覧に追加します。



- シーンエディターに移動します。

- 下記の様に座標と大きさを設定します。

主人公にゲームオーバーの処理を追加しましょう


オブジェクト:マイ
- イベント:「[自分]と[自分]が接触したら」を配置
- [自分]と[水]が接触したらに変更
- 接触したら、マイの表示をOFF
- エフェクト:爆発(1)を表示
- ゲームステータスを2に変更
ゲームオーバーオブジェクト配置
- オブジェクト追加より、ツールを指定し、GameOverを選択。



- シーンエディターに移動します。

- オブジェクト一覧にて、「スコア表示」を選択すると「グリッド移動」が表示されます。
- 「グリッド移動」の「アンカー設定」にチェックしましょう。
- アンカー位置を上中央にします。

- 下記の様に座標と大きさを設定します。

- プログラムで表示のON/OFFを行うため、オブジェクト一覧にて青い「目」のアイコンをクリックし、非表示に設定します。

スコア結果表示を作りましょう
- オブジェクト追加より、ツールを指定し、タイトル(中央)を選択。



- オブジェクト一覧よりタイトル(中央)を選択し、名称を「スコア結果表示」に変更。
変更前

変更後

- シーンエディターに移動します。

- オブジェクト一覧にて、「スコア表示」を選択すると「グリッド移動」が表示されます。
- グリッド移動」の「アンカー設定」にチェックしましょう。
- アンカー位置を下中央にします。

- 下記の様に座標と大きさを設定します。

- プログラムで表示のON/OFFを行うため、オブジェクト一覧にて青い「目」のアイコンをクリックし、非表示に設定します。

リスタートボタンの処理を作りましょう
ゲームオーバー時に、リスタートボタン、スペースキー、Aボタンをタップするとゲームステータスを1にして、ゲームスタートのステータスに変更します。
- オブジェクト追加より、ツールを指定し、ボタンを選択。



- シーンエディターに移動します。

- オブジェクト一覧にて、「リスタート」を選択すると「グリッド移動」が表示されます。
- 「グリッド移動」の「アンカー設定」にチェックしましょう。
- アンカー位置を下中央にします。

- 下記の様に座標と大きさを設定します。

- プログラムで表示のON/OFFを行うため、オブジェクト一覧にて青い「目」のアイコンをクリックし、非表示に設定します。

- リスタート用のプログラムを記載します。


オブジェクト:リスタート
- タッチ操作対応
- イベント:「[自分]が[タップされたら」を配置
- iF:もし、ゲームステータスが2の場合に実行
- ゲームステータスを1に変更
- iF:もし、ゲームステータスが2の場合に実行


オブジェクト:リスタート
- キーボード操作対応
- イベント:「[Space]が[押されたら」を配置
- iF:もし、ゲームステータスが2の場合に実行
- ゲームステータスを1に変更
- iF:もし、ゲームステータスが2の場合に実行


オブジェクト:リスタート
- コントローラー操作対応
- イベント:「コントローラー[1]の[A]ボタンが[押されたら」を配置
- iF:もし、ゲームステータスが2の場合に実行
- ゲームステータスを1に変更
- iF:もし、ゲームステータスが2の場合に実行
ゲームステータス:2の処理を追加しましょう
- IFブロックの+ボタンで条件分岐を追加し、ゲームステータス 2:ゲームオーバー時の処理を追加します。


オブジェクト:プログラム
- ゲームステータスが変更され、値が2のときに動作するプログラム
- 「ゲームステータスが変更されたら」を配置
- ゲームオーバー画面
- GameOver表示ON
- リスタート表示ON
- ジョイパッド表示OFF
- Aボタン表示OFF
- スコア結果表示にここまでのスコアを表示
- ゲームオーバー画面
