敵の作成④(敵のHPを画面に表示する)
敵にHPスライダーを設置
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// ★追加
using UnityEngine.UI;
public class EnemyHealth : MonoBehaviour
{
public GameObject effectPrefab;
public AudioClip sound;
public int enemyHP;
// ★追加
public Slider hpSlider;
// ★追加
private void Start()
{
// スライダーの最大値の設定
hpSlider.maxValue = enemyHP;
// スライダーの現在値の設定
hpSlider.value = enemyHP;
}
private void OnTriggerEnter(Collider other)
{
if(other.gameObject.CompareTag("Missile"))
{
GameObject effect = Instantiate(effectPrefab, transform.position, Quaternion.identity);
Destroy(effect, 0.5f);
enemyHP -= 1;
Destroy(other.gameObject);
// ★追加
// スライダーの現在値
hpSlider.value = enemyHP;
if(enemyHP == 0)
{
Destroy(transform.root.gameObject);
AudioSource.PlayClipAtPoint(sound, Camera.main.transform.position);
}
}
}
}
【2019版】Danmaku I(基礎1/全22回)
他のコースを見る敵にHPスライダーを設置
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// ★追加
using UnityEngine.UI;
public class EnemyHealth : MonoBehaviour
{
public GameObject effectPrefab;
public AudioClip sound;
public int enemyHP;
// ★追加
public Slider hpSlider;
// ★追加
private void Start()
{
// スライダーの最大値の設定
hpSlider.maxValue = enemyHP;
// スライダーの現在値の設定
hpSlider.value = enemyHP;
}
private void OnTriggerEnter(Collider other)
{
if(other.gameObject.CompareTag("Missile"))
{
GameObject effect = Instantiate(effectPrefab, transform.position, Quaternion.identity);
Destroy(effect, 0.5f);
enemyHP -= 1;
Destroy(other.gameObject);
// ★追加
// スライダーの現在値
hpSlider.value = enemyHP;
if(enemyHP == 0)
{
Destroy(transform.root.gameObject);
AudioSource.PlayClipAtPoint(sound, Camera.main.transform.position);
}
}
}
}
敵の作成④(敵のHPを画面に表示する)