Unity-只使用一个计时器来实现多波怪的生成

xiaoxiao2021-02-27  210

在我们的塔防游戏中常常要使用到多波怪的生成,但是两个计时器麻烦有容易出错。但是,我协程理解和用的也不好,SO我就想出了这个方法来实现。

//敌人的预制体 public GameObject enemys; //记次变量 int count; //计时变量 float second; // Use this for initialization void Start () { } // Update is called once per frame void Update () { //计时器 second += Time.deltaTime; //规定产生几个怪 if (count >= 0 && count < 10) { //怪与怪产生的间隔 if (second > 0.5f) { GameObject enemyObj = Instantiate(enemys, transform.position, Quaternion.identity) as GameObject; //时间清零 second -= 0.5f; //计数 count++; } } else { //当计数变量超出的时候给定一个大于怪个数的固定值或者其他什么都可以 count = 11; //每波怪之间的间隔 其实就是用同一个计时器在不同的分支里执行只是合并了两个计时器 if (second > 2) { //然后在计时结束后将时间和次数清零 count = 0; second -= 2; } } //里面的一些判定的常量 其实都可以写成公共变量传参数,上面的程序也可以单独封装一个方法 然后使用if判断来调用规定产生几波 }

转载请注明原文地址: https://www.6miu.com/read-11645.html

最新回复(0)