体力ゲージとダメージ処理

Create → UI → Slider とおします

Sliderの中にあるHandle Slide Area を削除します

Sliderを選択し、POSで位置を調整したり、Scaleで大きさを調整します
※POSを0、0、0にすると画面の真ん中にきます

Backgroundを選択して、Colorをおして色をかえます

Fillを選択して、Colorをおして色をかえます

体力とSliderを結びつけて、ダメージを受けたらSliderが減るようにスクリプトを書きます

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class HP : MonoBehaviour
{
    public int hp = 5;//hpを5にする。SliderのMaxValueとValueはここの値に合わせます
    private Slider _slider;//Sliderの値を代入する_sliderを宣言
    public GameObject slider;//体力ゲージに指定するSlider

    // Use this for initialization
    void Start()
    {
        _slider=slider.GetComponent<slider>();//sliderを取得する
    }

    // Update is called once per frame
    void Update()
    {
        _slider.value = hp;//スライダーとHPの紐づけ
    }

    void OnTriggerEnter(Collider collision)
    {
        if (collision.gameObject.tag == "Enemy")//衝突した相手のタグがEnemyなら
        {
            hp -= 1;//hpを-1ずつ変える
        }
        
        if (hp <= 0)//もしhpが0以下なら
        {
            print("GameOver");//GameOverとコンソールに表示する
        }
    }
}

作成したスクリプトはプレイヤーにドラッグ&ドロップします

スクリプトをはりつけたらSliderをスクリプトにドラッグ&ドロップします

Sliderを選択し、MaxValueとValueをスクリプトで指定した値に合わせます
※今回の場合は5です

衝突判定を設定した敵に触れるとゲージが減ります

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメント一覧 (1件)

コメントする

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次