Time.time实际上做了什么?

时间:2017-11-04 13:31:19

标签: c# unity3d

我有一个代码

void redBowlValley(){
    if (timeStampR2 <= Time.time && Input.GetKeyDown (KeyCode.DownArrow) && canFire == true) {
        Vector3 whereToSpawnR= GameObject.Find ("PlayerRedBowl").transform.position;
        Vector3 whereToSpawnR2= GameObject.Find ("PlayerRedBowl2").transform.position;
        Vector3 whereToSpawnR3= GameObject.Find ("PlayerRedBowl3").transform.position;
        Vector3 whereToSpawnR4= GameObject.Find ("PlayerRedBowl4").transform.position;
        Vector3 whereToSpawnR5= GameObject.Find ("PlayerRedBowl5").transform.position;
        Instantiate (PRedBowl, whereToSpawnR, Quaternion.identity);
        Instantiate (PRedBowl, whereToSpawnR2, Quaternion.identity);
        Instantiate (PRedBowl, whereToSpawnR3, Quaternion.identity);
        Instantiate (PRedBowl, whereToSpawnR4, Quaternion.identity);
        Instantiate (PRedBowl, whereToSpawnR5, Quaternion.identity);
        timeStampR2 = Time.time + CDRR2;
    }

}

此代码对redBowlValley应用冷却时间。但我不明白一件事。它说如果timeStampR&lt; = Time.time。几秒钟后这是真的。实际上减少了什么时间? timeStampR2如何等于Time.time?什么是Time.time?

  

编辑:或时间。时间刚刚增加,就是如何获得   等于timeStampR2?

2 个答案:

答案 0 :(得分:1)

根据统一,Time.time返回游戏开始以来的时间。

答案 1 :(得分:1)

Time.time是此帧开头的时间(只读)。这是自游戏开始以来的秒数。如果在单个帧中多次调用,则返回相同的值。每个帧Time.time的值随着游戏开始后经过的秒数增加而增加。

在您的示例中,如果timeStampR2 <= Time.time(如果其他变量为true)则调用函数。在这里,您要等待timeStampR2的值(以秒为单位)。

例如,如果timeStampR2 = 5游戏在每个框架中投放时,Time.time的值将从0增加。自您点击播放后经过Time.time = 55秒)后,timeStampR2 <= Time.time将为true