所以我有一个系统,其中的资源节点具有持久性。它们都是从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
对于具有不同帧速率的计算机,将保持相同的时序。