プレーヤーのステータス③(残機数を画面に表示する)
![4e3e0459 449d 46fa 991b 111ae5a4ee3a](https://codegenius.org/uploads/slide/image/7566/4e3e0459-449d-46fa-991b-111ae5a4ee3a.jpeg)
![D9d98953 92e2 48b5 b4e9 5a446071141e](https://codegenius.org/uploads/slide/image/7567/d9d98953-92e2-48b5-b4e9-5a446071141e.jpeg)
![9fbaad4a 42f9 4d5f 9fac d4b3996461c0](https://codegenius.org/uploads/slide/image/7568/9fbaad4a-42f9-4d5f-9fac-d4b3996461c0.jpeg)
残機数の表示
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
// ★追加
using TMPro;
public class PlayerHealth : MonoBehaviour
{
public GameObject effectPrefab;
public AudioClip damageSound;
public AudioClip destroySound;
public int maxHP;
private int HP;
public Slider HPSlider;
// ★追加
public int playerCount; // 残機数
public TextMeshProUGUI playerLabel;
void Start()
{
HP = maxHP;
HPSlider.maxValue = HP;
HPSlider.value = HP;
// ★追加
playerLabel.text = "" + playerCount;
}
private void OnTriggerEnter(Collider other)
{
if(other.CompareTag("EnemyMissile"))
{
HP -= 1;
AudioSource.PlayClipAtPoint(damageSound, Camera.main.transform.position);
Destroy(other.gameObject);
HPSlider.value = HP;
if(HP == 0)
{
GameObject effect = Instantiate(effectPrefab, transform.position, Quaternion.identity);
Destroy(effect, 1.0f);
AudioSource.PlayClipAtPoint(destroySound, Camera.main.transform.position);
this.gameObject.SetActive(false);
// ★追加
// HPが0になった瞬間に残機数を1つ減らす。
playerCount -= 1;
playerLabel.text = "" + playerCount;
}
}
}
}
![29173c1d 2be3 462d 9077 65208f9f53e0](https://codegenius.org/uploads/slide/image/7569/29173c1d-2be3-462d-9077-65208f9f53e0.jpeg)
![2bb1dd58 c4ad 43cc a4e4 5ae648717740](https://codegenius.org/uploads/slide/image/7570/2bb1dd58-c4ad-43cc-a4e4-5ae648717740.jpeg)
【2021版】Danmaku(基礎/全55回)
他のコースを見る![4e3e0459 449d 46fa 991b 111ae5a4ee3a](https://codegenius.org/uploads/slide/image/7566/4e3e0459-449d-46fa-991b-111ae5a4ee3a.jpeg)
![D9d98953 92e2 48b5 b4e9 5a446071141e](https://codegenius.org/uploads/slide/image/7567/d9d98953-92e2-48b5-b4e9-5a446071141e.jpeg)
![9fbaad4a 42f9 4d5f 9fac d4b3996461c0](https://codegenius.org/uploads/slide/image/7568/9fbaad4a-42f9-4d5f-9fac-d4b3996461c0.jpeg)
残機数の表示
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
// ★追加
using TMPro;
public class PlayerHealth : MonoBehaviour
{
public GameObject effectPrefab;
public AudioClip damageSound;
public AudioClip destroySound;
public int maxHP;
private int HP;
public Slider HPSlider;
// ★追加
public int playerCount; // 残機数
public TextMeshProUGUI playerLabel;
void Start()
{
HP = maxHP;
HPSlider.maxValue = HP;
HPSlider.value = HP;
// ★追加
playerLabel.text = "" + playerCount;
}
private void OnTriggerEnter(Collider other)
{
if(other.CompareTag("EnemyMissile"))
{
HP -= 1;
AudioSource.PlayClipAtPoint(damageSound, Camera.main.transform.position);
Destroy(other.gameObject);
HPSlider.value = HP;
if(HP == 0)
{
GameObject effect = Instantiate(effectPrefab, transform.position, Quaternion.identity);
Destroy(effect, 1.0f);
AudioSource.PlayClipAtPoint(destroySound, Camera.main.transform.position);
this.gameObject.SetActive(false);
// ★追加
// HPが0になった瞬間に残機数を1つ減らす。
playerCount -= 1;
playerLabel.text = "" + playerCount;
}
}
}
}
![29173c1d 2be3 462d 9077 65208f9f53e0](https://codegenius.org/uploads/slide/image/7569/29173c1d-2be3-462d-9077-65208f9f53e0.jpeg)
![2bb1dd58 c4ad 43cc a4e4 5ae648717740](https://codegenius.org/uploads/slide/image/7570/2bb1dd58-c4ad-43cc-a4e4-5ae648717740.jpeg)
プレーヤーのステータス③(残機数を画面に表示する)