アイテムの作成⑥(アイテムのランダム出現)




アイテムランダム出現
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;
    public int scoreValue;
    private ScoreManager sm;
    // ★追加(アイテムランダム出現)
    // 配列(ポイント)
    public GameObject[] items;
    private void Start()
    {
        hpSlider.maxValue = enemyHP;
        hpSlider.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;
            Destroy(other.gameObject);
            hpSlider.value = enemyHP;
            if(enemyHP == 0)
            {
                Destroy(transform.root.gameObject);
                AudioSource.PlayClipAtPoint(sound, Camera.main.transform.position);
                sm.AddScore(scoreValue);
                // ★追加(アイテムランダム出現)
                // アイテムの設定をしていない場合には何も出現しない。
                if(items.Length != 0)
                {
                    // ランダムメソッドの活用(ポイント)
                    int itemNumber = Random.Range(0, items.Length);
                    Instantiate(items[itemNumber], transform.position, Quaternion.identity);
                }
            }
        }
    }
}



【2019版】Danmaku Ⅱ(基礎2/全38回)
他のコースを見る



アイテムランダム出現
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;
    public int scoreValue;
    private ScoreManager sm;
    // ★追加(アイテムランダム出現)
    // 配列(ポイント)
    public GameObject[] items;
    private void Start()
    {
        hpSlider.maxValue = enemyHP;
        hpSlider.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;
            Destroy(other.gameObject);
            hpSlider.value = enemyHP;
            if(enemyHP == 0)
            {
                Destroy(transform.root.gameObject);
                AudioSource.PlayClipAtPoint(sound, Camera.main.transform.position);
                sm.AddScore(scoreValue);
                // ★追加(アイテムランダム出現)
                // アイテムの設定をしていない場合には何も出現しない。
                if(items.Length != 0)
                {
                    // ランダムメソッドの活用(ポイント)
                    int itemNumber = Random.Range(0, items.Length);
                    Instantiate(items[itemNumber], transform.position, Quaternion.identity);
                }
            }
        }
    }
}



アイテムの作成⑥(アイテムのランダム出現)