敌人塔的箭头脚本在0-60秒的随机时间之间开火

时间:2016-01-12 21:17:28

标签: c# unity3d random

我没有要显示的脚本,因为我无法遇到这样的情况,所以在这里:

C#脚本

所以我有我的2D精灵敌人塔,我希望塔能射击5箭,每次射击之间停顿2秒,我只能向左或向右移动,现在敌人塔射击的那些时候我也会喜欢它是随机的,在0-60秒的范围内。在塔重新加载并等待另一个随机时间来发射我的刚体箭头精灵。

我知道我不能指望有人握住我的手为我做这件事,但我遇到的所有剧本都是玩家通常以3D方式射箭或敌方玩家。

任何指导方面的帮助都非常有用,我们随时学习。

1 个答案:

答案 0 :(得分:3)

IEnumerator TowerShooting()
{
   while(true)
   {
      float timer = Random.Range(0f, 60f);
      yield return new WaitForSeconds(timer);
      float shootingTimer = 2f;
      int amountArrow = 3;
      while(amountArrow > 0)
      {
          Shoot();
          amountArrow--;
          yield return new WaitForSeconds(shootingTimer);
      }
   }
}

代码非常简单,因为方法命名是显式的。你有两个循环,第一个是无限的(某种程度上像Update)。它首先获得等待时间,并在第一次WaitForSeconds迭代时等待。

然后它进入一个内部循环,将运行3次射击,每次射击也等待2秒。完成三次射击后,我们将返回主循环,依此类推,直到塔被摧毁/禁用。