見出し画像

短編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の減少が反映

無事、スクリプトから表示を変更することができました。

敵キャラクターへの設定

敵キャラクターの方も同様に設定しておきます。

敵キャラクターにも同様に設定

敵の最大HPは7にしてみました。
きちんと割合が反映されているのが分かります。

まとめ

今回は短めですが、HPバーを設定することに成功しました。ホッとしています。
HPバー関連は4日分かかりましたが、思い通りに進まないのは当然なのでこんなもんですね。逆に、焦って雑にならないように気を付けます。
次回は、移動モーションに合わせて敵HPを減少させる処理を実装していきたいと思います。

この記事が気に入ったらサポートをしてみませんか?