siki学院 协程和Mathf笔记
一 协程
新建API08Coroutine脚本
普通方法
协程方法
区别:如果执行的是一个普通方法,那么会等这个普通方法执行完,再接着向下执行
如果调用的是一个协程方法,那么调用完协程方法后,不会等这个方法执行完,就接着向下执行。
协程的规则:1.返回值是IEnumerator
2.返回参数的时候使用yield return null/0;
3.协程方法的调用StartCoroutine(method)
自身可以设置暂停
Coroutines协程
使用Coroutines实现颜色动画渐变
Manual-Scripting-Scripting Overview-Coroutines
第一种:
第二种:
协程的开启和关闭
第一种方法:
第二种:
二 Mathf(工具类)
1)
PI:π | Abs:取绝对值 |
---|---|
Ceil:向上取整 | CeilToInt:向上取int类型的整数 |
Deg2Rad:把度数变成弧度 | Rad2Deg:把弧度变成度数 |
-Epsilon:代表一个无限小的小数- | -anyValue+Epsilon=anyValue |
anyValue-Epsilon=anyValue- | |
Infinity:代表一个无限大的数 | NativeInfinity:代表一个无限小的数 |
新建API10Mathf脚本
2)Clamp
Clamp:限定Value的范围
Clamp01:把一个值限定在0-1之间
ClosestPowerOfTwo:求得2的n次方 DeltAngle:两个角度之间最短的距离
Exp:e的power次方 Sqrt:取得平方根
Max:取最大值 Min:取最小值
Floor:向下取整 FloorToint:向下取int型的整数
3)Lerp:
参数:a 代表开始值(int/float类型) b 代表结束值(int/float类型) t 代表差值(必须是float类型)
可用于物体的动画(先快后慢)
LerpAngle:针对角度
4)MoveTowards:向某个位置进行匀速移动
5)PingPong:(最小值为0)
参数: t:运动速度 length:长度
6)Input:(按键,触摸相关检测) Edit-Project Settings-Input
新建API11Input脚本
ImeisSelected:和输入法有关,用来判断输入法是否被选择
GetKey: 判断键盘上某个键的按下和抬起
GetMouseDown:鼠标按键事件的监测
0左键1右键2中键
GetButton:虚拟按键
Fire1:鼠标左键控制 Horizontal:水平轴
GetAxis:返回值是float类型的,可以用来模拟加速运动
GetTouch:触摸事件
anyKeyDown:任意键按下
mousePosition:获取鼠标在屏幕上的位置 (以屏幕左下角为原点,以像素为单位)