【发布时间】:2015-11-14 16:05:11
【问题描述】:
这里是短代码示例
if (timer < 0)
{
timer = cooldown;
}
else if (timer > 0)
{
timer -= Time.deltaTime;
}
else if (timer == 0)
{
print(0);
}
可能是cooldown = 1
我的问题很简单:
是否有可能达到timer == 0 状态?
我的意思是理论上有可能用 Time.deltaTime 精确地达到 0 吗?我知道考虑到 float 的大小这听起来很愚蠢,但如果这种情况发生,我仍然很感兴趣。
【问题讨论】:
-
这背后的想法是什么?从理论上讲,最后一次减少
Time.deltaTime可能会导致timer为 0,是的。通常,您只需将每个 Update() 的timer减少Time.deltaTime并查看它是否已经达到负值,检查timer == 0f是否为真是不太可能发生的事件。 -
想法是如果计时器达到负值则停止计时器并从其他事件中重置计时器。它只是为了好玩而做了一些原型设计后我脑海中浮现的概念之一。