时间随机数和数学类
1.創建一個游戲工程, 命名為PRSGo
2.在Project視圖中創建3個文件夾, Scene文件夾、Resources文件夾和Script文件夾
3.將當前場景保存為GameScene
4.創建TimeClazz游戲腳本
(1).Time.time:從游戲開始時計時, 截止到目前共運行的游戲時間, 受Time.timeScale的影響, 游戲暫停時該時間不增加。
(2).Time.timeScale:時間流逝的速度。當該值設置為1f時表示和現實中的時間流逝一致; 當該值設置為0.5時, 表示真實時間逝去1秒時, 游戲時間僅逝去0.5秒。在Edit->Project Settings->Time中可以查看該值。
(3).Time.realTimeSinceStartup:從游戲開始時計時, 截止到目前共運行的真實時間, 不是Time.timeScale的影響, 游戲暫停時該時間仍然增加。
(4).Time.deltaTime:上一幀所消耗的時間,受Time.timeScale的影響。游戲一般時1秒60幀, 所以Time.deltaTime就近似等于1/60。
(5).Time.fixedDeltaTime:固定更新上一幀所消耗的時間。
(6).Time.fixedTime:在FixedUpdate方法里已經執行的時間。
7.代碼清單
using UnityEngine;public class TimeClazz : MonoBehaviour {void OnGUI () {GUILayout.Label ("當前游戲時間:" + Time.time);GUILayout.Label ("游戲時間的縮放:" + Time.timeScale);GUILayout.Label ("真實逝去時間:" + Time.realtimeSinceStartup);GUILayout.Label ("上一幀所消耗的時間:" + Time.deltaTime);GUILayout.Label ("上一幀所消耗的固定增量時間:" + Time.fixedDeltaTime);GUILayout.Label ("FixedUpdate已經執行的時間:" + Time.fixedTime);} }8.運行游戲
9.隨機數
(1).Random.Range(int min, int max):隨機生成min~max之間的整數, 包括min, 不包括max。
(2).Random.Range(float min, float max):隨機生成min~max之間的浮點數, 包括min, 不包括max。
10.數學類
(1).Mathf.Clamp(int value, int min, int max): 限制value在min和max之間。如果value小于min, 返回min; 如果value大于max, 返回max; 如果value在min和max之間, 返回value。
(2).Mathf.Lerp(float a, float b, float t): 插入值。
(3).Mathf.abs(int value)和Mathf.abs(float f): 返回value和f的絕對值。
(4).Mathf.max(int a, int b)、Mathf.max(float a, float b)、Mathf.max(params int[] value)和Mathf.max(params float[] value): 返回2個或多個值的最大值。
(5).Mathf.min(int a, int b)、Mathf.min(float a, float b)、Mathf.min(params int[] value)和Mathf.min(params float[] value): 返回2個或多個值的最小值。
(6).Mathf.pow(float f, float p): f的p次方。
(7).Mathf.Pi: 常量浮點數表示圓周率3.1415926。
(8).Mathf.Deg2Rad: 常量浮點數, 0.017f, 用于角度轉換弧度。
(9).Mathf.Rad2Deg: 常量浮點數, 57.29, 用于弧度轉換角度。
(10).Mathf.Sin(float f): 返回弧度f的正弦值。
(11).Mathf.Cos(float f): 返回弧度f的余弦值。
(12).Mathf.Tan(float f): 返回弧度f的正切值。
11.弧度和角度轉換
(1).一個圓的周長公式: c = 2π × r, 這里是半徑。如果 r = 1, 則 c = 2π。因此, 弧度是這樣定義的一個圓 2π 弧度。它還具有 360 度。
1 弧度 = 360 / 2 π = 180 / π = 57.29 度
1度 = 2 π / 360 = π / 180 = 0.017 弧度
(2). 度 = 弧度 × (180 / π) = 弧度 × 57.29
(3). 弧度 = 度 × (π / 180) = 度 × 0.017?
12.三角函數公式
(1).sin0°=0,sin30°=1/2,sin60°=√3/2,sin90°=1?
(2).cos0°=1,cos30°=√3/2,cos60°=1/2,cos90°=0?
(3).tan30°=√3/3,tan45°=1,tan60°=√3
2.在Project視圖中創建3個文件夾, Scene文件夾、Resources文件夾和Script文件夾
3.將當前場景保存為GameScene
4.創建TimeClazz游戲腳本
5.在Hierarchy視圖中創建一個空的GameObject, 命名為GameManager,并把TimeClazz綁定在該對象上
(1).Time.time:從游戲開始時計時, 截止到目前共運行的游戲時間, 受Time.timeScale的影響, 游戲暫停時該時間不增加。
(2).Time.timeScale:時間流逝的速度。當該值設置為1f時表示和現實中的時間流逝一致; 當該值設置為0.5時, 表示真實時間逝去1秒時, 游戲時間僅逝去0.5秒。在Edit->Project Settings->Time中可以查看該值。
(3).Time.realTimeSinceStartup:從游戲開始時計時, 截止到目前共運行的真實時間, 不是Time.timeScale的影響, 游戲暫停時該時間仍然增加。
(4).Time.deltaTime:上一幀所消耗的時間,受Time.timeScale的影響。游戲一般時1秒60幀, 所以Time.deltaTime就近似等于1/60。
(5).Time.fixedDeltaTime:固定更新上一幀所消耗的時間。
(6).Time.fixedTime:在FixedUpdate方法里已經執行的時間。
7.代碼清單
using UnityEngine;public class TimeClazz : MonoBehaviour {void OnGUI () {GUILayout.Label ("當前游戲時間:" + Time.time);GUILayout.Label ("游戲時間的縮放:" + Time.timeScale);GUILayout.Label ("真實逝去時間:" + Time.realtimeSinceStartup);GUILayout.Label ("上一幀所消耗的時間:" + Time.deltaTime);GUILayout.Label ("上一幀所消耗的固定增量時間:" + Time.fixedDeltaTime);GUILayout.Label ("FixedUpdate已經執行的時間:" + Time.fixedTime);} }8.運行游戲
9.隨機數
(1).Random.Range(int min, int max):隨機生成min~max之間的整數, 包括min, 不包括max。
(2).Random.Range(float min, float max):隨機生成min~max之間的浮點數, 包括min, 不包括max。
10.數學類
(1).Mathf.Clamp(int value, int min, int max): 限制value在min和max之間。如果value小于min, 返回min; 如果value大于max, 返回max; 如果value在min和max之間, 返回value。
(2).Mathf.Lerp(float a, float b, float t): 插入值。
(3).Mathf.abs(int value)和Mathf.abs(float f): 返回value和f的絕對值。
(4).Mathf.max(int a, int b)、Mathf.max(float a, float b)、Mathf.max(params int[] value)和Mathf.max(params float[] value): 返回2個或多個值的最大值。
(5).Mathf.min(int a, int b)、Mathf.min(float a, float b)、Mathf.min(params int[] value)和Mathf.min(params float[] value): 返回2個或多個值的最小值。
(6).Mathf.pow(float f, float p): f的p次方。
(7).Mathf.Pi: 常量浮點數表示圓周率3.1415926。
(8).Mathf.Deg2Rad: 常量浮點數, 0.017f, 用于角度轉換弧度。
(9).Mathf.Rad2Deg: 常量浮點數, 57.29, 用于弧度轉換角度。
(10).Mathf.Sin(float f): 返回弧度f的正弦值。
(11).Mathf.Cos(float f): 返回弧度f的余弦值。
(12).Mathf.Tan(float f): 返回弧度f的正切值。
11.弧度和角度轉換
(1).一個圓的周長公式: c = 2π × r, 這里是半徑。如果 r = 1, 則 c = 2π。因此, 弧度是這樣定義的一個圓 2π 弧度。它還具有 360 度。
1 弧度 = 360 / 2 π = 180 / π = 57.29 度
1度 = 2 π / 360 = π / 180 = 0.017 弧度
(2). 度 = 弧度 × (180 / π) = 弧度 × 57.29
(3). 弧度 = 度 × (π / 180) = 度 × 0.017?
12.三角函數公式
(1).sin0°=0,sin30°=1/2,sin60°=√3/2,sin90°=1?
(2).cos0°=1,cos30°=√3/2,cos60°=1/2,cos90°=0?
(3).tan30°=√3/3,tan45°=1,tan60°=√3
總結
- 上一篇: 游戏对象的移动旋转缩放
- 下一篇: 输入控制