Unity计时实现

这里演示一下使用Unity在控制台里打印从游戏开始到结束时每一秒的时间,输出内容为“距离
游戏开始已经过了秒”当秒数为偶数时,再输出一句“Hello”。
此处以两种方式实现。
第一种以Time.dealtime计算当前时间。第二种通过InvokeRepeating周期性调用计算秒数
`
public class Timer : MonoBehaviour {

private float floatTime=2;//用于方法一:用来递减delatime的2秒
private float floatTime1 = 0;//用于方法一:用来递增delatime的1秒
private int timeCount=0;//用于方法二:计算当前秒数

void Start () {
 //InvokeRepeating("TimeCount", 0, 1);//方法二,每一秒计数一次
}
void Update () {
    PrintTime();      
}
//方法一:通过Time.delatime输出游戏运行时间
void PrintTime()
{
    floatTime-=Time.deltaTime;//2秒减去对每帧时间
    floatTime1 += Time.deltaTime;//0秒增加每帧时间

    if (floatTime1 > 1)//到达1秒的时候,输出当前游戏时间(秒)
    {
        Debug.Log("距离游戏开始已经过了<" +Mathf.RoundToInt(Time.time) + ">秒");
        floatTime1 = 0;
    }
    if (floatTime <= 0)//时间为偶数时(每两秒)输出Hello并随机位置生成cube
    {
        Debug.Log("Hello");
        floatTime = 2;//用来计算的2秒复原
    }
}
//利用InvokeRepeating计时(方法二)
void TimeCount()
{
    timeCount++;
    if (timeCount % 1 == 0)
    {
        Debug.Log("距离游戏开始已经过了<" + timeCount + ">秒");
    }
    if(timeCount % 2 == 0)
    {
        Debug.Log("Hello");
    }
}

}`
Unity计时实现_第1张图片

你可能感兴趣的:(Unity游戏开发)