定量,定时,随机生成怪物

    不说废话直接上代码:
    //怪物类型
    public GameObject[] mouse;
    //随机生成数量
    public static int number = 0;
    //生成标志位
    bool flag = false;
    //限制生成次数
    float number1 = 0;
    void Update()
    {
        if (flag)
        {
            StartCoroutine(Repeat());
            number1++;
        }
    }
    IEnumerator Repeat()
    {
        if (number1 <= 150)
        {
            GameObject clone = mouse[Random.Range(0, mouse.Length)];
            Vector3 pos = new Vector3(Random.Range(8, 14), 0.1252086f, Random.Range(-6, -10));
            GameObject.Instantiate(clone, pos, Quaternion.identity);
            yield return new WaitForSeconds(Time.deltaTime);
            number++;
        }
        
    }
    void OnTriggerStay(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            //print("aaaaaaaaaaa");//测试

            if (number <=0)
            {
                flag = true;
            }
            else if(number>=5)
            {
                flag = false;
            }    
        }
    }
    
       这段代码可以实现,游戏角色进入某范围后,会在规定的一片区域内产生5只左右的怪物,当你杀死5只后,会继续生成。

        1、首先要建议一个碰撞盒子;

        2、通过随机数规定怪物生成区域;

        3、定好标志位;
       图片展示:(网太差不插了,明天再说)
       

你可能感兴趣的:(笔记)