目录
1、想:制作定时器,运行3秒后执行第一次,之后每隔3秒执行一次操作。
三、操作:一:完成:使用变量在Update中计时,也是各种书中最常见的方法
三.操作:三:完成:使用InvokeRepeating(只能使用在特定函数中)
三.操作:四:完成:Unity中使用TimeSpane计算时差
一、目的
1、想:制作定时器,运行3秒后执行第一次,之后每隔3秒执行一次操作。
二、参考:
1、
https://www.cnblogs.com/guxin/p/7129033.html
三、操作:一:完成:使用变量在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;
}
}
}
三、 操作:二:完成:使用协程Coroutine
public class TestTimer : MonoBehaviour {
void Start () {
StartCoroutine(Do()); // 开启协程
}
IEnumerator Do()
{
while (true) // 还需另外设置跳出循环的条件
{
yield return new WaitForSeconds(3.0f);
Debug.Log("work");
}
}
}
三.操作:三:完成:使用InvokeRepeating(只能使用在特定函数中)
- 好像只能放在Start中
public class TestTimer : MonoBehaviour {
void Start () {
InvokeRepeating("Do", 3.0f, 3.0f);
}
void Do()
{
Debug.Log("work");
}
}
三.操作:四:完成:Unity中使用TimeSpane计算时差