【Unity】6.5 Time類、Mathf類、Coroutine類

分類:Unity、C#、VS2015 多線程

建立日期:2016-04-20 函數

1、Time類

Unity引擎提供的Time類可獲取和時間有關的信息、計算幀速率、調整時間流逝速度等。 spa

一、成員變量 線程

image

二、示例 code

(1)在Assets下建立一個「6.5」子文件夾。 協程

(2)在6.5子文件夾下建立一個文件名爲Scene5.unity的場景。 對象

(3)在6.5子文件夾下建立一個文件名爲Demo5.cs的腳本。blog

image

(4)將Demo5.cs改成下面的內容: 遊戲

using UnityEngine;
using System.Collections;

public class Demo5 : MonoBehaviour
{
    void OnGUI()
    {
        GUILayout.Label("當前遊戲通過的時間(秒):" + Time.time);
        GUILayout.Label("遊戲時間的縮放:" + Time.timeScale);
        GUILayout.Label("上一幀所消耗的時間:" + Time.deltaTime);
        GUILayout.Label("固定增量時間:" + Time.fixedTime);
        GUILayout.Label("上一幀所消耗的固定時間:" + Time.fixedDeltaTime);
        GUILayout.Label("當前遊戲實際通過的時間:" + Time.realtimeSinceStartup);
    }
}

(5)在層次視圖中,添加一個空的GameObject,選擇該對象,而後將Demo5腳本拖放到檢視器中。 遊戲開發

(6)單擊【播放】按鈕,結果以下圖所示。此時會看到對應的變量值在不停地變化:

image

2、Mathf類

Unity引擎提供的Mathf類提供了經常使用的數學運算。

一、成員變量

PI 圓周率(π)的值,即3.14159265358979323846...(只讀)

Infinity 正無窮大∞ (只讀)

NegativeInfinity 負無窮大-∞ (只讀)

Deg2Rad 度到弧度(Degrees-to-radians)的轉換系數(只讀)

Rad2Deg 弧度到度(Radians-to-degrees)的轉換系數(只讀)

Epsilon 一個很小的浮點數值(只讀)

二、方法

image

3、Coroutine類

Coroutine也叫協同程序或者協程,協同程序能夠和主程序並行運行,該類的功能和多線程有些相似,可是在任—指定時刻只會有一個協同程序在運行,別的協同程序則會掛起。

協同程序能夠用來實現讓一段程序等待一段時間後繼續運行的效果。例如:

執行步驟1,等待3秒;

執行步驟2,等待某個條件爲true;

執行步驟3⋯ ⋯

Unity裏和協同程序有關的函數有:

·startCoroutine:啓動一個協同程序。

·stopCoroutine:終止—個協同程序。

·stopAllCoroutine:終止全部協同程序。

·WaitForSeconds:等待若干秒。

·WaitForFixedUpdate:等待直到下一次FixedUpdate調用。

關於協同程序的具體用法,在後面章節的遊戲開發實例中還會細講,這裏就不展開介紹了。

相關文章
相關標籤/搜索