Unity2D入門 スクロールアクションゲームを作る ゲームオーバーシーンの作成
前回ゲームオーバーが無いとゲームじゃないじゃん。 とか言っておきながらダメージ処理だけの記事となってしまいました。
なので今回はHPが0になったらゲームオーバーさせます。
ゲームオーバーシーンの作成
File > New Sceneから新しいシーンを作成して名前をgameoverとでも名付けておきます。
そうすると2つシーンができてる筈です。 今まで弄ってたのがmainmapです
新しいシーンの方に移動します。
Hierarchy > Create > GUI TextでGAME OVERと画面に表示させて、 リトライボタンを作成し、 Hierarchy > Create > GUI Textureでオブジェクトを作成して これにこの画像を適応します。
位置は適当に良いところにおいてみてください。 こんなゲーム画面にしてみました。
さてようはこの画面とゲーム画面を行ったりきたりできれば良いのです。
シーンを変更するスクリプトを書く
retry.csとでも名付けて retryボタンにAdd Componentします。
using UnityEngine; using System.Collections; public class retry : MonoBehaviour { void OnMouseUpAsButton(){ Application.LoadLevel("mainmap"); } }
さてエミュレートしてボタンを押したらゲーム画面にいきましたか?
HPが0になったらゲームオーバーシーンに移動させる
これも簡単ですね。 Application.LoadLevel("gameover"); をHP0になったらの条件式に追加します.
hpbar.cs
void onDamage(int damage) { Rect hpRect = guiTexture.pixelInset; hpRect.width = (hpRect.width - 10); if(hpRect.width <= 0){ //追加 Application.LoadLevel("gameover"); } guiTexture.pixelInset = hpRect; }
これでHPが0になったらゲーム終了となりました! 次回はダメージを受けたら点滅して1秒間無敵状態になる処理を作りたい徒思います。