游戏开发小结——在Unity中创建冷却系统
目标:了解如何在Unity中实现冷却系统。
什么是冷却时间?好吧,大多数游戏都使用冷却时间作为防止玩家(或敌人)统治至高无上并不停地使用他们的能力的手段。因此,从本质上讲,冷却时间是您要创建的任何内容的计时器。
想象一下,在玩一个可以施展法术的游戏。大多数游戏都会对此类法术进行冷却,以防止您以虚幻的速度施放它们并毫无困难地清除所有敌人。
###但是我们如何实现它呢?
private float _canCast = -1f;
private float _castDelay = 0.5f;
我们有两个变量,一个是有时间的变量,另一个是铸造的延迟。但是我们如何将时间应用于我们的系统呢?
if (Input.GetKeyDown(KeyCode.Space) && _canCast <= Time.time)
{
_canCast = Time.time + _castDelay;
Fire();
}
在上面的 if 语句中,我们正在检查是否已经过了足够的时间才能使用这种能力。默认的负值是为了确保玩家可以随时施放它。
一旦技能被施放,我们将当前时间加上延迟添加到我们的时间句柄变量中。现在我们只能在 0.5 秒后再次施放它。
在没有冷却系统的情况下施法。
正如你所看到的,只要我能按空,我们就会向上发射激光,没有冷却时间。
使用我们的冷却系统进行施法。