短編RPG制作(Unity2D)【第12回】HPバーの実装その4
HPバーの実装
スクリプトの記述
HPの値とHPバー表示を連動させるスクリプトを記述していきます。
using UnityEngine;
using UnityEngine.UI;
public class MobStatus : MonoBehaviour
{
[SerializeField] private Image _image;
[SerializeField] private int maxHP = 10;
private int currentHP;
private void Start()
{
currentHP = maxHP-5;
}
private void Update()
{
_image.fillAmount = (float)currentHP / (float)maxHP;
}
}
HPバーをInspectorウィンドウにセットすることで、Imageコンポーネントへの参照を取得できるようにします。
攻撃によるHP減少はまだ不可能なので、最大HPを10、現在HPを5にあらかじめ設定しました。
そして、fillAmountプロパティに現在HPの割合を代入することで表示を変更します。
無事、スクリプトから表示を変更することができました。
敵キャラクターへの設定
敵キャラクターの方も同様に設定しておきます。
敵の最大HPは7にしてみました。
きちんと割合が反映されているのが分かります。
まとめ
今回は短めですが、HPバーを設定することに成功しました。ホッとしています。
HPバー関連は4日分かかりましたが、思い通りに進まないのは当然なのでこんなもんですね。逆に、焦って雑にならないように気を付けます。
次回は、移動モーションに合わせて敵HPを減少させる処理を実装していきたいと思います。
この記事が気に入ったらサポートをしてみませんか?