我没有要显示的脚本,因为我无法遇到这样的情况,所以在这里:
C#脚本
所以我有我的2D精灵敌人塔,我希望塔能射击5箭,每次射击之间停顿2秒,我只能向左或向右移动,现在敌人塔射击的那些时候我也会喜欢它是随机的,在0-60秒的范围内。在塔重新加载并等待另一个随机时间来发射我的刚体箭头精灵。
我知道我不能指望有人握住我的手为我做这件事,但我遇到的所有剧本都是玩家通常以3D方式射箭或敌方玩家。
任何指导方面的帮助都非常有用,我们随时学习。
答案 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秒。完成三次射击后,我们将返回主循环,依此类推,直到塔被摧毁/禁用。