在继承MonoBehaviour的情况下:
1.隔一段时间 调用方法 只调一次
void Start()
{
//5秒后调用一下我们的函数
this.Invoke("onTimer",5.0f);
}
void onTimer()
{
Debug.Log("onTimer called");
}
-----> 5秒后会输出 “onTimer”
2.隔一段时间 调用方法 循环调用
void Start()
{
//5秒后开始调用,每隔0.5秒调用一次
//参数一:方法名
//参数二:time 多长时间后开始调用
//参数三:repeatRate 每隔多少秒调用一次
this.InvokeRepeating("onTimer",5,5.0f);
}
void onTimer()
{
Debug.Log("onTimer called");
}
-----> 5秒后开始输出 “onTimer”,之后每隔0.5秒输出一次
3.隔一段时间 调用方法 停止输出
void Start()
{
//5秒后开始调用“onTimer”函数,每隔0.5秒调用一次
this.InvokeRepeating("onTimer",5,0.5f);
//10秒后调用“cancel_time”函数(10秒后停止输出“onTimer called”)
this.Invoke("cancel_timer",10f);
}
void onTimer()
{
Debug.Log("onTimer called");
}
void cancel_time()
{
//取消以后,就不会输出了
this.CancelInvoke("onTimer called");
}
-----> 5秒后开始输出 “onTimer”,之后每隔0.5秒输出一次。10秒后停止输出 “onTimer called”
---------------------------------------------上面是Invoke,下面是Timer
声明:System.Timers.Timer timer;
实例化:timer = new System.Timers.Timer(500);//500是毫秒(就是半秒)
//到时触发事件
timer.Elapsed +=(这里按两下Table键自动生成方法) 方法;
开始计时:timer.Start();
停止计时:timer.Stop();