プレーヤーのステータス⑤(ゲームオーバーシーンの作成)
![C993d5ae f85b 402b a2d9 732594ffc984](https://codegenius.org/uploads/slide/image/7574/c993d5ae-f85b-402b-a2d9-732594ffc984.jpeg)
![4d923b61 1476 4951 9b3f 9146528a5268](https://codegenius.org/uploads/slide/image/7575/4d923b61-1476-4951-9b3f-9146528a5268.jpeg)
![671aef08 7062 48da 94f8 434dd9debdcf](https://codegenius.org/uploads/slide/image/7576/671aef08-7062-48da-94f8-434dd9debdcf.jpeg)
![2d31c5c2 7676 4c56 b0e2 c2c3e32341c8](https://codegenius.org/uploads/slide/image/7577/2d31c5c2-7676-4c56-b0e2-c2c3e32341c8.jpeg)
![4f4dfa40 1a90 4dba 8405 17788d30dc63](https://codegenius.org/uploads/slide/image/7578/4f4dfa40-1a90-4dba-8405-17788d30dc63.jpeg)
リトライorゲームオーバー
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
// ★★★追加
using UnityEngine.SceneManagement;
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);
playerCount -= 1;
playerLabel.text = "" + playerCount;
// ★★★追加
// 残機数によって場合分けを行います。
if(playerCount > 0)
{
Invoke("Retry", 1.0f);
}
else
{
SceneManager.LoadScene("GameOver");
}
}
}
}
void Retry()
{
this.gameObject.SetActive(true);
HP = maxHP;
HPSlider.maxValue = HP;
HPSlider.value = HP;
}
}
![3943e668 a247 4667 a319 fe0c1acc225b](https://codegenius.org/uploads/slide/image/7579/3943e668-a247-4667-a319-fe0c1acc225b.jpeg)
![E653c196 b7b0 4ca1 ae3d 6a558554d654](https://codegenius.org/uploads/slide/image/7580/e653c196-b7b0-4ca1-ae3d-6a558554d654.jpeg)
![9bde4e06 7b0b 4fb3 acc6 9f6aaad8da5e](https://codegenius.org/uploads/slide/image/7581/9bde4e06-7b0b-4fb3-acc6-9f6aaad8da5e.jpeg)
【2021版】Danmaku(基礎/全55回)
他のコースを見る![C993d5ae f85b 402b a2d9 732594ffc984](https://codegenius.org/uploads/slide/image/7574/c993d5ae-f85b-402b-a2d9-732594ffc984.jpeg)
![4d923b61 1476 4951 9b3f 9146528a5268](https://codegenius.org/uploads/slide/image/7575/4d923b61-1476-4951-9b3f-9146528a5268.jpeg)
![671aef08 7062 48da 94f8 434dd9debdcf](https://codegenius.org/uploads/slide/image/7576/671aef08-7062-48da-94f8-434dd9debdcf.jpeg)
![2d31c5c2 7676 4c56 b0e2 c2c3e32341c8](https://codegenius.org/uploads/slide/image/7577/2d31c5c2-7676-4c56-b0e2-c2c3e32341c8.jpeg)
![4f4dfa40 1a90 4dba 8405 17788d30dc63](https://codegenius.org/uploads/slide/image/7578/4f4dfa40-1a90-4dba-8405-17788d30dc63.jpeg)
リトライorゲームオーバー
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
// ★★★追加
using UnityEngine.SceneManagement;
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);
playerCount -= 1;
playerLabel.text = "" + playerCount;
// ★★★追加
// 残機数によって場合分けを行います。
if(playerCount > 0)
{
Invoke("Retry", 1.0f);
}
else
{
SceneManager.LoadScene("GameOver");
}
}
}
}
void Retry()
{
this.gameObject.SetActive(true);
HP = maxHP;
HPSlider.maxValue = HP;
HPSlider.value = HP;
}
}
![3943e668 a247 4667 a319 fe0c1acc225b](https://codegenius.org/uploads/slide/image/7579/3943e668-a247-4667-a319-fe0c1acc225b.jpeg)
![E653c196 b7b0 4ca1 ae3d 6a558554d654](https://codegenius.org/uploads/slide/image/7580/e653c196-b7b0-4ca1-ae3d-6a558554d654.jpeg)
![9bde4e06 7b0b 4fb3 acc6 9f6aaad8da5e](https://codegenius.org/uploads/slide/image/7581/9bde4e06-7b0b-4fb3-acc6-9f6aaad8da5e.jpeg)
プレーヤーのステータス⑤(ゲームオーバーシーンの作成)