在不同的时间速率下将耐久性提高到0



所以我有一个系统,其中的资源节点具有持久性。它们都是从100开始的,但不同的资源有不同的收集时间,这取决于该资源的工作人员和资源本身。如何降低与追踪收集时间的计时器相关的耐用性?

private float timer = 0f;
public float timeToCollect = 500f;
public float durability = 100f;
void Update() {
if(mining) {
timer += 0.1f;
}
}

那么,如何降低收集计时器的耐用性呢?基本上,当资源被破坏时,我希望耐久性为0。

提前谢谢!

private float timer = 0f;
public float timeToCollect = 500f;
public float maxDurability = 100f;
public float durability = 100f;
int miners = 0;
void Update()
{
timer += miners * Time.deltaTime;
durability = maxDurability - ((timer / timeToCollect) * maxDurability); 
}

这不一定是最好的方法,它只是让你开始。

每次矿工连接到节点时,增加miners计数,离开ect时减少。还要注意,您应该将Time.deltaTime用于任何定时内容,而不仅仅是像这样的静态0.1对于具有不同帧速率的计算机,将保持相同的时序。

相关内容

  • 没有找到相关文章

最新更新