首页 > 代码库 > Unity3D Time
Unity3D Time
1. deltaTime
Time类有一个重要的类变量--deltaTime,它表示距上一次调用Update或FixedUpdate所用的时间。 因此通过它可以让游戏对象按照一个常速进行旋转,而不是依赖于它的帧频:
void Update(){
transform.Rotate(0,5*Time.deltaTime,0);
}
如果想要一个值根据每帧的变化而变化(增加或减少) ,你应该使用 Time.deltaTime来乘以这个值。这样才能使得变化的效果依赖于单位时间,而不是帧频。这不仅使得游戏的运行独立于帧频,也使得运动的效果符合现实。
Eg. 想要让灯光的照射范围使每秒增加3个单位
void Update(){
light.range += 3.0*Time.deltaTime;
}
2. yield
是一个特殊类型的return语句,可以确保下一次执行的时候 不是从头开始,而是从yield出开始的
yield.WaitForSeconds(3); 延迟3秒
3. 定时重复调用可以使用InvokeRepeating函数实现
void Start () {
InvokeRepeating("DoSomething", 1,5);//1秒后调用DoSomething() 函数,之后每5秒调用一次
}
Unity3D Time
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。