Unity3d Time的使用
2013-08-05 11:35
162 查看
Time类包含了一个重要的类变量deltaTime,它表示距上一次调用Update或FixedUpdate
所用的时间。
因此通过它可以让游戏对象按照一个常速进行旋转,而不是依赖于它的帧频:
function Update()
{
tranform.Rotate(0, 5 * Time.deltaTime, 0);
} 同样地移动效果:
乘以这个值。这样才能使得变化的效果依赖于单位时间,而不是帧频。这不仅使得游戏的运
行独立于帧频,也使得运动的效果符合现实。
同理,要让灯光的照射范围在每秒使半径增加 2个单位,可进行如下编码:
引擎已经为你进行了处理
2
IEnumerator wait(int seconds){
yield return new WaitForSeconds(seconds);
}
StartCoroutine(wait(2)); // 在Update() 中调用好像无效
在JS中可以直接用 yield WaitForSeconds(3);
3 定时器的使用
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour {
// Use this for initialization
void Start () {
InvokeRepeating("LaunchProjectile", 1,5);//1秒后调用LaunchProjectile () 函数,之后每5秒调用一次
}
// Update is called once per frame
void Update () {
if (Input.GetButton ("Fire")) {
CancelInvoke();
}
}
void LaunchProjectile () {
print("hello");
}
}
所用的时间。
因此通过它可以让游戏对象按照一个常速进行旋转,而不是依赖于它的帧频:
function Update()
{
tranform.Rotate(0, 5 * Time.deltaTime, 0);
} 同样地移动效果:
function Update() { transform.Translate(0, 0, 2 * Time.deltaTime); }如果想要一个值根据每帧的变化而变化(增加或减少) ,你应该使用 Time.deltaTime来
乘以这个值。这样才能使得变化的效果依赖于单位时间,而不是帧频。这不仅使得游戏的运
行独立于帧频,也使得运动的效果符合现实。
同理,要让灯光的照射范围在每秒使半径增加 2个单位,可进行如下编码:
function Update() { light.range += 2.0 * Time.deltaTime; }但是在通过force来处理rigidbody时,一般情况下不要乘以 Time.deltaTime,因为 Unity
引擎已经为你进行了处理
2
IEnumerator wait(int seconds){
yield return new WaitForSeconds(seconds);
}
StartCoroutine(wait(2)); // 在Update() 中调用好像无效
在JS中可以直接用 yield WaitForSeconds(3);
3 定时器的使用
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour {
// Use this for initialization
void Start () {
InvokeRepeating("LaunchProjectile", 1,5);//1秒后调用LaunchProjectile () 函数,之后每5秒调用一次
}
// Update is called once per frame
void Update () {
if (Input.GetButton ("Fire")) {
CancelInvoke();
}
}
void LaunchProjectile () {
print("hello");
}
}
相关文章推荐
- Unity3d Time的使用
- unity3d Time 的使用
- (转)Unity3d使用心得(1):ModelImporter的使用、在代码中添加动画片段。
- 做part-time小网站不要使用Java语言
- DataTimePicker的使用
- 使用gettimeofday实现精确计时功能
- 使用DatePicker和TimePicker显示当前日期和时间
- BMFont在Unity3D中的使用
- Unity3D系列教程–使用免费工具在Unity3D中开发2D游戏 第二节(下)
- Unity3D-使用Bitmap Font Generator自定义字体
- CTime/COleDateTime::Format方法的使用
- Python中time模块与datetime模块在使用中的不同之处
- 设计模式——外观(Unity3D中的使用)
- Unity3d 通过json文件使用C#脚本代码生成多个相机
- [Unity3D]Unity3D游戏开发之使用EasyTouch虚拟摇杆控制人物移动
- 选中拖动Unity3D系列教程–使用免费工具在Unity3D中开发2D游戏 第二节(下)
- 使用Unity3D Asset Server进行联合开发和版本控制
- 在Unity3d中使用GZip来压缩传输数据
- IOS性能调优系列:使用Time Profiler发现性能瓶颈
- 使用 MySQL Date/Time 类型