需求:制作定时器,运行3秒后执行第一次,之后每隔3秒执行一次操作。
1.使用变量在Update中计时
public class TestTimer : MonoBehaviour {
private float lastTime;
private float curTime;
void Start () {
lastTime = Time.time;
}
void Update () {
curTime = Time.time;
if (curTime - lastTime >= 3)
{
Debug.Log("work");
lastTime = curTime;
}
}
}
2.使用协程Coroutine
public class TestTimer : MonoBehaviour {
void Start () {
StartCoroutine(Do()); // 开启协程
}
IEnumerator Do()
{
while (true) // 还需另外设置跳出循环的条件
{
yield return new WaitForSeconds(3.0f);
Debug.Log("work");
}
}
}
3.使用InvokeRepeating
public class TestTimer : MonoBehaviour {
void Start () {
InvokeRepeating("Do", 3.0f, 3.0f);
}
void Do()
{
Debug.Log("work");
}
}