我正在尝试创建一个一致的倒数计时器,该计时器将在120秒内从1,000变为0。
我尝试使用此方法:
public IEnumerator StartCountdown()
{
while (scoreValue > 0)
{
yield return new WaitForSeconds(1.0f);
scoreValue--;
}
}
但是由于某种原因,倒数随着时间的流逝而加速,并根据scoreValue
的值达到不同的负数,而不是停止为0。
例如,如果scoreValue
等于1000,则达到-380
答案 0 :(得分:0)
如之前的评论所述,您可能已经多次列出了该方法。您调用该方法的次数越多,其速度将越快。您只需要一个带有方法名称的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());
}
}