Unity 计时器

c#作为一门强大的编程语言绝对有计时器这样的功能,而且有3钟,unity能用的有2种。
System.Timers.Timer t = new System.Timers.Timer(1000);//实例化Timer类,设置间隔时间,单位为毫秒; 
t.Elapsed += new System.Timers.ElapsedEventHandler(event);//到达时间的时候执行“event”函数(方法); 
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true),一直执行就是每到设定的时间都执行一次。; 
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件(这个一定要是true,否则无法执行);
public void event(object source, System.Timers.ElapsedEventArgs e) //被绑定的方法(函数)

在这儿添加你想执行的内容

另外一种我就不介绍了。
我测试了一下,除了不能在Flash平台使用这个计时器,其他平台都行。
计时器还有很多强大功能,你自己慢慢研究吧!

我上面介绍的定时器中

AutoReset属性默认为true,即每到时间就会执行一次
而Enabled属性呢,默认为false
但是我们一般不直接更改Enabled属性来启动或停止定时器,而是用start()或stop()方法来启动或停止。
System.Timers.Timer t = new System.Timers.Timer(1000);
t.Elapsed += new System.Timers.ElapsedEventHandler(event);
t.start():
public void event(object source, System.Timers.ElapsedEventArgs e) //被绑定的方法(函数)

在这儿添加你想执行的内容
}
这样的话每隔1秒就执行一次event方法,如果不让它再执行,就输入
t.stop()就行拉!

using UnityEngine;
using System.Collections;

public class CoolTime : MonoBehaviour {
    // Use this for initialization
    private int counter = 15;
    private System.Timers.Timer timer = new System.Timers.Timer(1000);
    
    void Start () {
        timer.Elapsed += new System.Timers.ElapsedEventHandler (onTimerHandler);
        timer.Start ();
    }

    void Update () {

    }

    void OnGUI(){
        GUILayout.Label(counter.ToString());        
    }

    void onTimerHandler(object source, System.Timers.ElapsedEventArgs args){
        counter --;
    }

}


//********************************//
using System.Timers;

private bool _isHasStartGame = false;
private System.Timers.Timer _timer;

private void OnPrepareGame(JsonObject _object){
  
_timer = new System.Timers.Timer(10000);
  _timer.Elapsed += new ElapsedEventHandler(DoStartGame);
  _timer.AutoReset = true;
  _timer.Enable = true;
  _timer.Start();
}

private void DoStartGame(){
  if (_isHasStartGame == false) {
    
  } else {
    _timer.Stop();
  }
}

private void OnStartGame(){
  _isHasStartGame = true;
}

 

posted @ 2015-01-07 15:23  Zhaoyier  阅读(2045)  评论(0编辑  收藏  举报