如何在 Unity3d 中使用协程更新计数器?
How do I update a counter using coroutine in Unity3d?
我正在尝试进行基本的 1、2、3 倒计时,但是当我将 countDown 传递给 countTxt 字段时,即使使用 for 循环也没有任何变化。我可以在 Unity 检查器中看到倒计时如何工作以及从 3 到 0,但在我的文本字段中看不到。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class CountDown : MonoBehaviour {
public int countDown;
public Text countTxt;
public int countMax ;
void Update () {
StartCoroutine (GetReady ());
}
IEnumerator GetReady () {
for (countDown = countMax; countDown > 0;countDown--)
{
countTxt.text = countDown.ToString();
yield return new WaitForSeconds(1);
}
}
}
您在 Update() 中调用协程,所以它一直被调用....它应该在 Start() 中调用
我正在尝试进行基本的 1、2、3 倒计时,但是当我将 countDown 传递给 countTxt 字段时,即使使用 for 循环也没有任何变化。我可以在 Unity 检查器中看到倒计时如何工作以及从 3 到 0,但在我的文本字段中看不到。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class CountDown : MonoBehaviour {
public int countDown;
public Text countTxt;
public int countMax ;
void Update () {
StartCoroutine (GetReady ());
}
IEnumerator GetReady () {
for (countDown = countMax; countDown > 0;countDown--)
{
countTxt.text = countDown.ToString();
yield return new WaitForSeconds(1);
}
}
}
您在 Update() 中调用协程,所以它一直被调用....它应该在 Start() 中调用