我正在尝试创建一个一致的倒计时器,在120秒内从1,000到0。
我试着用这个方法:
public IEnumerator StartCountdown()
{
while (scoreValue > 0)
{
yield return new WaitForSeconds(1.0f);
scoreValue--;
}
}
但是随着时间的推移,由于某种原因倒计时加速,并且它根据scoreValue
值而不是在0处停止而达到不同的负数。
例如,如果scoreValue
等于1000,则达到-380
如前面的评论中所述,您可能已多次列出该方法。调用方法的次数越多,速度越快。您只需要一个带方法名称的StartCoroutine方法。观察控制台,因为它列出的代码逐一倒计时。这是代码。一切似乎都没问题。
float scoreValue = 1200;
void Start () {
StartCoroutine(StartCountdown());
}
// Update is called once per frame
void Update () {
}
public IEnumerator StartCountdown()
{
while (scoreValue > 0)
{
yield return new WaitForSeconds(1.0f);
scoreValue--;
print("Score At " + scoreValue.ToString());
}
}