今回はアクションゲームでよく見かけるHPを表示する方法です
表示部分だけでは面白くないのでスペースキーを押すと騎士がゴブリンを攻撃し10回攻撃するとゴブリンが消える仕様にしました
1.ゴブリン 騎士 剣をシーン内にドラッグ&ドロップし 位置やサイズ角度を調整する
2.ヒエラルキーの+をクリックしてUI/画像を選択
3.位置横の四角をクリック
アンカープリセットのleft/topをAltキーを押しながらクリック
4.位置 サイズを調整し名前をHPbaseに変更
5.HPbaseを右クリックし複製を選択
6.サイズをHPbaseより少し小さくし ソース画像に白い画像をドラッグ&ドロップ
名前をHPbarに変更 バーの色はお好みで変更
7.HPbar/Imageの画像タイプを塗りつぶし 塗りつぶす方法を水平 塗りつぶし起点を左に設定
8.ヒエラルキーの+をクリックしてエフェクト/パーティクルシステムを選択
9.位置とパーティクルシステムの設定を変更し インスペクターのチェックを外す
10.剣が回転するアニメーションとアニメーターを作成しswordにアタッチする
アニメーションの設定についてはこちらを参照ください
everydayisagoodday.hatenadiary.com
11.プロジェクトタブ内で右クリック
作成/C#スクリプトを選択してHPbarManagerというスクリプトを作成
12.HPbarManagerを編集
using UnityEngine; using UnityEngine.UI; public class HPbarManager : MonoBehaviour { public GameObject goblin; public GameObject sword; public GameObject effect; private float count; private Animator animator; // Start is called before the first frame update void Start() { count = 10; animator = sword.GetComponent<Animator>(); } // Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Space)) { animator.SetTrigger("Hit"); count--; float percent = count / 10; this.GetComponent<Image>().fillAmount = percent; } if (count <= 0) { goblin.SetActive(false); effect.SetActive(true) ; } } }
13.HPbarにスクリプトをアタッチして ゴブリン sword ParticleSystemをドラッグ&ドロップ
実行してスペースキーを押すと剣がふられHPが減少していきます
10回になるとゴブリンが消えます