1.创建一个游戏工程, 命名为PRSGo
![](https://i-blog.csdnimg.cn/blog_migrate/849db992c786fe1a3101cace5fa65a0f.png)
2.在Project视图中创建3个文件夹, Scene文件夹、Resources文件夹和Script文件夹
![](https://i-blog.csdnimg.cn/blog_migrate/947695f3593b60c73784270f74e015f6.png)
3.将当前场景保存为GameScene
![](https://i-blog.csdnimg.cn/blog_migrate/cf5ec34c98b7e1483f2375fe4f8968bd.png)
4.创建TimeClazz游戏脚本
![](https://i-blog.csdnimg.cn/blog_migrate/b79d7a7711fe7ff89df4c5f086ae45cc.png)
(1).Time.time:从游戏开始时计时, 截止到目前共运行的游戏时间, 受Time.timeScale的影响, 游戏暂停时该时间不增加。
(2).Time.timeScale:时间流逝的速度。当该值设置为1f时表示和现实中的时间流逝一致; 当该值设置为0.5时, 表示真实时间逝去1秒时, 游戏时间仅逝去0.5秒。在Edit->Project Settings->Time中可以查看该值。
![](https://i-blog.csdnimg.cn/blog_migrate/3e2ffe79e9f521b177b2e4d8f0db5f61.png)
(3).Time.realTimeSinceStartup:从游戏开始时计时, 截止到目前共运行的真实时间, 不是Time.timeScale的影响, 游戏暂停时该时间仍然增加。
(4).Time.deltaTime:上一帧所消耗的时间,受Time.timeScale的影响。游戏一般时1秒60帧, 所以Time.deltaTime就近似等于1/60。
(5).Time.fixedDeltaTime:固定更新上一帧所消耗的时间。
(6).Time.fixedTime:在FixedUpdate方法里已经执行的时间。
7.代码清单
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
![](https://i-blog.csdnimg.cn/blog_migrate/849db992c786fe1a3101cace5fa65a0f.png)
2.在Project视图中创建3个文件夹, Scene文件夹、Resources文件夹和Script文件夹
![](https://i-blog.csdnimg.cn/blog_migrate/947695f3593b60c73784270f74e015f6.png)
3.将当前场景保存为GameScene
![](https://i-blog.csdnimg.cn/blog_migrate/cf5ec34c98b7e1483f2375fe4f8968bd.png)
4.创建TimeClazz游戏脚本
![](https://i-blog.csdnimg.cn/blog_migrate/b79d7a7711fe7ff89df4c5f086ae45cc.png)
5.在Hierarchy视图中创建一个空的GameObject, 命名为GameManager,并把TimeClazz绑定在该对象上
(1).Time.time:从游戏开始时计时, 截止到目前共运行的游戏时间, 受Time.timeScale的影响, 游戏暂停时该时间不增加。
(2).Time.timeScale:时间流逝的速度。当该值设置为1f时表示和现实中的时间流逝一致; 当该值设置为0.5时, 表示真实时间逝去1秒时, 游戏时间仅逝去0.5秒。在Edit->Project Settings->Time中可以查看该值。
![](https://i-blog.csdnimg.cn/blog_migrate/3e2ffe79e9f521b177b2e4d8f0db5f61.png)
(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.运行游戏
![](https://i-blog.csdnimg.cn/blog_migrate/9bdca3466859811e48210b4e0005bb5b.png)
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): 插入值。
![](https://i-blog.csdnimg.cn/blog_migrate/f7020adc74d1ed21ee60a91a47cda771.png)
(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.三角函数公式
![](https://i-blog.csdnimg.cn/blog_migrate/cdc22cb8bf0a17c22a161aa0daa367c1.png)
(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