プレーヤーのステータス⑤(ゲームオーバーシーンの作成)
![48e4ee1a 396a 4b28 a15a 31f948e9aeca](https://codegenius.org/uploads/slide/image/975/48e4ee1a-396a-4b28-a15a-31f948e9aeca.jpeg)
![Fd960a96 895a 49da 86e3 dddf1c34c10b](https://codegenius.org/uploads/slide/image/976/fd960a96-895a-49da-86e3-dddf1c34c10b.jpeg)
![Aab0a02a 3573 4ea3 8492 3b33f0311a8d](https://codegenius.org/uploads/slide/image/977/aab0a02a-3573-4ea3-8492-3b33f0311a8d.jpeg)
![788da47d 6147 48d5 96cf b695687f7ec6](https://codegenius.org/uploads/slide/image/978/788da47d-6147-48d5-96cf-b695687f7ec6.jpeg)
![Fc177c13 c14f 49cc a0c8 c2f2321a8b3d](https://codegenius.org/uploads/slide/image/979/fc177c13-c14f-49cc-a0c8-c2f2321a8b3d.jpeg)
![Ca3a13c9 904e 47dc 9a04 28bd99069e53](https://codegenius.org/uploads/slide/image/980/ca3a13c9-904e-47dc-9a04-28bd99069e53.jpeg)
![Cdb3e95c 2ab1 4f5c b2ae f4e3b5a89ea8](https://codegenius.org/uploads/slide/image/981/cdb3e95c-2ab1-4f5c-b2ae-f4e3b5a89ea8.jpeg)
![06089f13 bc47 405a 9f83 18c6e77b5872](https://codegenius.org/uploads/slide/image/982/06089f13-bc47-405a-9f83-18c6e77b5872.jpeg)
![0b5973ad b3c9 4d5d 9111 61bb3cf33b26](https://codegenius.org/uploads/slide/image/983/0b5973ad-b3c9-4d5d-9111-61bb3cf33b26.jpeg)
![F272019b efa5 4caf bd65 e2e062580ac8](https://codegenius.org/uploads/slide/image/984/f272019b-efa5-4caf-bd65-e2e062580ac8.jpeg)
![4a82913d 26c4 4a2f b40a 2dacf31120be](https://codegenius.org/uploads/slide/image/985/4a82913d-26c4-4a2f-b40a-2dacf31120be.jpeg)
![Be9f492a ebb1 453c 9901 2e1c306c2c5c](https://codegenius.org/uploads/slide/image/986/be9f492a-ebb1-453c-9901-2e1c306c2c5c.jpeg)
ゲームオーバーシーンに遷移する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
// ★★★(追加)
using UnityEngine.SceneManagement;
public class PlayerHealth : MonoBehaviour {
public GameObject effectPrefab;
public AudioClip damageSound;
public AudioClip destroySound;
public int playerHP;
private Slider playerHPSlider;
public GameObject[] playerIcons;
public int destroyCount = 0;
void Start(){
playerHPSlider = GameObject.Find ("PlayerHPSlider").GetComponent<Slider> ();
playerHPSlider.maxValue = playerHP;
playerHPSlider.value = playerHP;
}
void OnTriggerEnter(Collider other){
if (other.gameObject.CompareTag ("EnemyMissile")) {
playerHP -= 1;
AudioSource.PlayClipAtPoint (damageSound, Camera.main.transform.position);
playerHPSlider.value = playerHP;
Destroy (other.gameObject);
if (playerHP == 0) {
destroyCount += 1;
UpdatePlayerIcons();
GameObject effect = Instantiate (effectPrefab, transform.position, Quaternion.identity) as GameObject;
Destroy (effect, 1.0f);
AudioSource.PlayClipAtPoint (destroySound, Camera.main.transform.position);
this.gameObject.SetActive(false);
// ★★★(追加)
// 破壊された回数によって場合分けを行います。
if(destroyCount < 5)
// リトライの命令ブロック(メソッド)を1秒後に呼び出す。
Invoke("Retry", 1.0f);
else
// ゲームオーバーシーンに遷移する。
SceneManager.LoadScene("GameOver"); // (ポイント)GameOverはシーンの名前と一言一句全て同じであること
}
}
}
void UpdatePlayerIcons(){
for(int i = 0; i < playerIcons.Length; i++){
if (destroyCount <= i)
playerIcons [i].SetActive (true);
else
playerIcons [i].SetActive (false);
}
}
void Retry(){
this.gameObject.SetActive (true);
playerHP = 5;
playerHPSlider.value = playerHP;
}
}
![86eaa1e8 eef5 4c69 b107 8c43c2461366](https://codegenius.org/uploads/slide/image/987/86eaa1e8-eef5-4c69-b107-8c43c2461366.jpeg)
![B6584923 0625 45e2 ab34 5958312e71ef](https://codegenius.org/uploads/slide/image/988/b6584923-0625-45e2-ab34-5958312e71ef.jpeg)
![5db2e7f1 baa9 4457 bc45 74995128bc61](https://codegenius.org/uploads/slide/image/989/5db2e7f1-baa9-4457-bc45-74995128bc61.jpeg)
Danmaku I(基礎1/全22回)
他のコースを見る![48e4ee1a 396a 4b28 a15a 31f948e9aeca](https://codegenius.org/uploads/slide/image/975/48e4ee1a-396a-4b28-a15a-31f948e9aeca.jpeg)
![Fd960a96 895a 49da 86e3 dddf1c34c10b](https://codegenius.org/uploads/slide/image/976/fd960a96-895a-49da-86e3-dddf1c34c10b.jpeg)
![Aab0a02a 3573 4ea3 8492 3b33f0311a8d](https://codegenius.org/uploads/slide/image/977/aab0a02a-3573-4ea3-8492-3b33f0311a8d.jpeg)
![788da47d 6147 48d5 96cf b695687f7ec6](https://codegenius.org/uploads/slide/image/978/788da47d-6147-48d5-96cf-b695687f7ec6.jpeg)
![Fc177c13 c14f 49cc a0c8 c2f2321a8b3d](https://codegenius.org/uploads/slide/image/979/fc177c13-c14f-49cc-a0c8-c2f2321a8b3d.jpeg)
![Ca3a13c9 904e 47dc 9a04 28bd99069e53](https://codegenius.org/uploads/slide/image/980/ca3a13c9-904e-47dc-9a04-28bd99069e53.jpeg)
![Cdb3e95c 2ab1 4f5c b2ae f4e3b5a89ea8](https://codegenius.org/uploads/slide/image/981/cdb3e95c-2ab1-4f5c-b2ae-f4e3b5a89ea8.jpeg)
![06089f13 bc47 405a 9f83 18c6e77b5872](https://codegenius.org/uploads/slide/image/982/06089f13-bc47-405a-9f83-18c6e77b5872.jpeg)
![0b5973ad b3c9 4d5d 9111 61bb3cf33b26](https://codegenius.org/uploads/slide/image/983/0b5973ad-b3c9-4d5d-9111-61bb3cf33b26.jpeg)
![F272019b efa5 4caf bd65 e2e062580ac8](https://codegenius.org/uploads/slide/image/984/f272019b-efa5-4caf-bd65-e2e062580ac8.jpeg)
![4a82913d 26c4 4a2f b40a 2dacf31120be](https://codegenius.org/uploads/slide/image/985/4a82913d-26c4-4a2f-b40a-2dacf31120be.jpeg)
![Be9f492a ebb1 453c 9901 2e1c306c2c5c](https://codegenius.org/uploads/slide/image/986/be9f492a-ebb1-453c-9901-2e1c306c2c5c.jpeg)
ゲームオーバーシーンに遷移する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
// ★★★(追加)
using UnityEngine.SceneManagement;
public class PlayerHealth : MonoBehaviour {
public GameObject effectPrefab;
public AudioClip damageSound;
public AudioClip destroySound;
public int playerHP;
private Slider playerHPSlider;
public GameObject[] playerIcons;
public int destroyCount = 0;
void Start(){
playerHPSlider = GameObject.Find ("PlayerHPSlider").GetComponent<Slider> ();
playerHPSlider.maxValue = playerHP;
playerHPSlider.value = playerHP;
}
void OnTriggerEnter(Collider other){
if (other.gameObject.CompareTag ("EnemyMissile")) {
playerHP -= 1;
AudioSource.PlayClipAtPoint (damageSound, Camera.main.transform.position);
playerHPSlider.value = playerHP;
Destroy (other.gameObject);
if (playerHP == 0) {
destroyCount += 1;
UpdatePlayerIcons();
GameObject effect = Instantiate (effectPrefab, transform.position, Quaternion.identity) as GameObject;
Destroy (effect, 1.0f);
AudioSource.PlayClipAtPoint (destroySound, Camera.main.transform.position);
this.gameObject.SetActive(false);
// ★★★(追加)
// 破壊された回数によって場合分けを行います。
if(destroyCount < 5)
// リトライの命令ブロック(メソッド)を1秒後に呼び出す。
Invoke("Retry", 1.0f);
else
// ゲームオーバーシーンに遷移する。
SceneManager.LoadScene("GameOver"); // (ポイント)GameOverはシーンの名前と一言一句全て同じであること
}
}
}
void UpdatePlayerIcons(){
for(int i = 0; i < playerIcons.Length; i++){
if (destroyCount <= i)
playerIcons [i].SetActive (true);
else
playerIcons [i].SetActive (false);
}
}
void Retry(){
this.gameObject.SetActive (true);
playerHP = 5;
playerHPSlider.value = playerHP;
}
}
![86eaa1e8 eef5 4c69 b107 8c43c2461366](https://codegenius.org/uploads/slide/image/987/86eaa1e8-eef5-4c69-b107-8c43c2461366.jpeg)
![B6584923 0625 45e2 ab34 5958312e71ef](https://codegenius.org/uploads/slide/image/988/b6584923-0625-45e2-ab34-5958312e71ef.jpeg)
![5db2e7f1 baa9 4457 bc45 74995128bc61](https://codegenius.org/uploads/slide/image/989/5db2e7f1-baa9-4457-bc45-74995128bc61.jpeg)
プレーヤーのステータス⑤(ゲームオーバーシーンの作成)