定时/延时 - 执行某个方法
Invoke(string methodName, float time):延时执行一个方法
InvokeRepeating(string methodName, float time, float repeatRate):time 几秒后执行,repeatRate 重复执行的间隔时间
CancelInvoke(string methodName):取消调用,没有参数重载则取消全部
协程函数
主程序(各种生命周期函数)以外单独开一个线程
定义一个协程函数:
// IEnumerator 是协程固定的返回值类型
// yield return 是协程固定的返回方式,yield return后面的代码依旧会执行
private IEnumerator Demo() {
Debug.Log("yield return返回前的代码")
// 等待0.02秒
yield return new WaitForSeconds(0.02f)
Debug.Log("yield return返回后的代码")
}
使用一个协程函数:
// 用一个变量接收返回值,用于后续停止这个协程
Coroutine coroutine = StartCoroutine(Demo())
停止协程:
协程运行到最后一行会自动停止,也可以使用方法主动停止
// 结束全部协程
StopAllCoroutines()
// 结束某个协程
StopCoroutine(coroutine)
工具类
数学常用方法
- Mathf.Abs(int num):返回绝对值
- Mathf.Max(int a, int b):返回更大的值
- Mathf.Min(int a, int b):返回更小的值
- Mathf.Round(2.5f):返回四舍五入后得到的值
- Mathf.Ceil(2.5f):返回向上取整的值
- Mathf.Floor(2.5f):返回向下取整的值
- Random.Range(0, 5):返回随机值
(1)如果是int重载:返回 0 - 4 的随机值,包含0、不包含5
(2)如果是float重载:返回 0 - 5 的随机值,包含0并且包含5
时间常用方法
- Time.time:【只读】表示从游戏运行到现在的时间,会随着游戏暂停而停止计算
- Time.deltaTime:【只读】表示从上一帧到当前帧的时间(帧更新频率),单位为秒
- Time.realtimeSinceStartup:【只读】表示自游戏开始后的总时间(现实时间)
- Time.timeScale:【读写】时间缩放,默认为1.若设置<1(>1),表示时间减慢(加快),0意味着游戏暂停