unity3d Time 的使用

在U3D脚本中需要使用一些时间类去实现一些连续的移动等效果,所以顺便查看了一些Time类的使用:

一:获取当前程序运行的时间:

	Time.realtimeSinceStartup;Time.time;获取程序运行时间单位是秒。
	Time.timeSinceLevelLoad;获取当前场景运行的时间。

	可以利用这个固定的时间在每一段固定的时间内做一个操作:

void Start() {
		lastInterval = Time.realtimeSinceStartup;
		frames = 0;
	}
	void OnGUI() {
		GUILayout.Label("" + fps.ToString("f2"));
	}
	void Update() {
		++frames;
		float timeNow = Time.realtimeSinceStartup;
		if (timeNow > lastInterval + updateInterval) {
			fps = frames / timeNow - lastInterval;
			frames = 0;
			lastInterval = timeNow;
		}
	}
<span style="font-family: Arial, Helvetica, sans-serif;">二:获取每一帧运行的时间:</span>
	如下实现的就是以每秒10单位位移
void Update() {
		float translation = Time.deltaTime * 10;
		transform.Translate(0, 0, translation);
	}
OnGui里面不可以使用Time.delatTima,因为OnGui每帧可以被多次调用。
三:设置帧速
	比如说设置视频的帧数:
public void Awake() {
		Time.captureFramerate = 25;
	}

四:一定时间延时的实现:
	
	WaitForSeconds(5.0F);
	由于要考虑程序的运行效率,所以在UpData里面的代码要尽量优化,对于一些不是没一帧都需要判断的语句可以写成协同程序。
<pre name="code" class="csharp">public IEnumerator Awake() {
		print(Time.time);
		yield return new WaitForSeconds(5);
		print(Time.time);
	}
Time里还有几个类似的方法还没有使用到,以后再完善。
<span style="white-space:pre">													</span>by:zxy





 
 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值