アイテムの作成⑤(敵を倒すとアイテム出現)
![148bea2b f033 4397 af99 6217e34cb9fc](https://codegenius.org/uploads/slide/image/1208/148bea2b-f033-4397-af99-6217e34cb9fc.jpeg)
![8382a0b5 d8bb 4573 ba5d 85a4f3687daf](https://codegenius.org/uploads/slide/image/1209/8382a0b5-d8bb-4573-ba5d-85a4f3687daf.jpeg)
![588bb2fa 549a 4594 8e22 1e9030db0efd](https://codegenius.org/uploads/slide/image/1210/588bb2fa-549a-4594-8e22-1e9030db0efd.jpeg)
![Fbadb044 b773 40dc a8bf 2d708cb6a069](https://codegenius.org/uploads/slide/image/1211/fbadb044-b773-40dc-a8bf-2d708cb6a069.jpeg)
敵を倒すとアイテム出現
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnemyHealth : MonoBehaviour
{
public GameObject effectPrefab;
public AudioClip destroySound;
public int enemyHP;
private Slider slider;
public int scoreValue;
private ScoreManager sm;
// ★追加(アイテム出現)
public GameObject itemPrefab;
void Start()
{
slider = GameObject.Find("EnemyHPSlider").GetComponent<Slider>();
slider.maxValue = enemyHP;
slider.value = enemyHP;
sm = GameObject.Find("ScoreLabel").GetComponent<ScoreManager>();
}
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Missile"))
{
GameObject effect = Instantiate(effectPrefab, transform.position, Quaternion.identity);
Destroy(effect, 0.5f);
enemyHP -= 1;
slider.value = enemyHP;
Destroy(other.gameObject);
if (enemyHP == 0)
{
Destroy(transform.root.gameObject);
AudioSource.PlayClipAtPoint(destroySound, transform.position);
sm.AddScore(scoreValue);
// ★追加(アイテム出現)
// 敵を破壊した瞬間=敵のHPが0になった瞬間にアイテムプレハブを実体化させる。
Instantiate(itemPrefab, transform.position, Quaternion.identity);
}
}
}
}
![Fb1bfcdc b4f3 4d00 8590 f20416780b2b](https://codegenius.org/uploads/slide/image/1212/fb1bfcdc-b4f3-4d00-8590-f20416780b2b.jpeg)
![484893e9 86af 46d8 b4ca ee681ad2dfc3](https://codegenius.org/uploads/slide/image/1213/484893e9-86af-46d8-b4ca-ee681ad2dfc3.jpeg)
Danmaku Ⅱ(基礎2/全24回)
他のコースを見る![148bea2b f033 4397 af99 6217e34cb9fc](https://codegenius.org/uploads/slide/image/1208/148bea2b-f033-4397-af99-6217e34cb9fc.jpeg)
![8382a0b5 d8bb 4573 ba5d 85a4f3687daf](https://codegenius.org/uploads/slide/image/1209/8382a0b5-d8bb-4573-ba5d-85a4f3687daf.jpeg)
![588bb2fa 549a 4594 8e22 1e9030db0efd](https://codegenius.org/uploads/slide/image/1210/588bb2fa-549a-4594-8e22-1e9030db0efd.jpeg)
![Fbadb044 b773 40dc a8bf 2d708cb6a069](https://codegenius.org/uploads/slide/image/1211/fbadb044-b773-40dc-a8bf-2d708cb6a069.jpeg)
敵を倒すとアイテム出現
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnemyHealth : MonoBehaviour
{
public GameObject effectPrefab;
public AudioClip destroySound;
public int enemyHP;
private Slider slider;
public int scoreValue;
private ScoreManager sm;
// ★追加(アイテム出現)
public GameObject itemPrefab;
void Start()
{
slider = GameObject.Find("EnemyHPSlider").GetComponent<Slider>();
slider.maxValue = enemyHP;
slider.value = enemyHP;
sm = GameObject.Find("ScoreLabel").GetComponent<ScoreManager>();
}
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Missile"))
{
GameObject effect = Instantiate(effectPrefab, transform.position, Quaternion.identity);
Destroy(effect, 0.5f);
enemyHP -= 1;
slider.value = enemyHP;
Destroy(other.gameObject);
if (enemyHP == 0)
{
Destroy(transform.root.gameObject);
AudioSource.PlayClipAtPoint(destroySound, transform.position);
sm.AddScore(scoreValue);
// ★追加(アイテム出現)
// 敵を破壊した瞬間=敵のHPが0になった瞬間にアイテムプレハブを実体化させる。
Instantiate(itemPrefab, transform.position, Quaternion.identity);
}
}
}
}
![Fb1bfcdc b4f3 4d00 8590 f20416780b2b](https://codegenius.org/uploads/slide/image/1212/fb1bfcdc-b4f3-4d00-8590-f20416780b2b.jpeg)
![484893e9 86af 46d8 b4ca ee681ad2dfc3](https://codegenius.org/uploads/slide/image/1213/484893e9-86af-46d8-b4ca-ee681ad2dfc3.jpeg)
アイテムの作成⑤(敵を倒すとアイテム出現)