学习笔记:
游戏图层:sorting layer的顺序,排位靠后的sorting layer会覆盖排位靠前的sorting layer
Layer(获取游戏所在渲染层)
API:
Addcomponent 添加物体组件
ActiveInHlerarchy (设置物体显示或者开启,同时物品下子物体获得同样属性 bool)
ActiveSelf (判断物体是否开启,子物体判断不受影响 bool)
setActiveSelf(设置物体组件状态)
Destroy(this) (可以销毁组件)
DotDestroyOnLoad(transform.gameObject) (传递一个物体在切换场景时不销毁)
FindObjectotType(根据类型查找游戏组件,找到的第一个组件返回Type类型)
FindObjectotsType(查到游戏组件,返回组件数组,不会查找禁用组件)
FindGameOBjectsWithTag(查找所有具有标签的游戏物体)
FindWithTag(返回第一个查找到的具有相同标签的游戏物体)
compareTag(比较两个物体标签是否一样)
BroadcastMessage(让某个物体和它的子物体调用指定方法,用此方法可降低脚本的耦合性)
SendMessage(对某个物体指定运行某个脚本)
SendMessageUpwards(指定一个物体和它的所有父物体(父物体的父物体这种)调用方法)
isAvtiveAndEnabled(判断某个物体的组件是否启用)
Enabled=false/true(关闭某个组件)
IsInvoking(判断invok是否被调用)
Coroutines(返回值是IEnumerator, 返回参数是yield .. return null(也可以其他类型)
StartCoroutines(开启协程)
StopCoroutine (停止协程)
OnMouseAsButton (点击事件抬起时触发)
Input.GetAxis.( 字符串关键字”Vertical”上下,”Horizontal”左右,”Mouse X”鼠标X轴移动触发,从0渐变到1,按键松开后从1渐变到-1)
Input.GetAxisRaw(同上,但是无渐变)
Mathf:
PI(圆周率)
Deg2Rad(度数转换为弧度) rad2Deg(弧度转换度数)
Epsilion(非常小的小数,比0大。任意数值与epsilion加或者减等于数值本身 如:x+epsilion=x)
Infinity(无限大的数) NegativeInfinity(无限小的数字)
Abs(取绝对值)
Ceil(int 先上取整10.2返回11, -10.2返回-10)
CeilTolnt(返回的float)
Floor(向下取整)
FloorTolnt(同floor,返回float)
Clamp(value,min,max) (value最小不小于Min,最大不大于max)
Clamp01(把一个值限定在0,1之间)
ClosestPowerOfTwo(最近的2次方。如:7 返回 8, 19返回16)
DlataAngle(取得两个角度的最小的夹角)
Exp(自然对数的底数)
Lerp(a,b,t)(差值运算,取值t在ab之间的等比例值,如1,10,0.5返回5 , 1,10,0.25,返回2.5);
lerpAngle(针对角度的差值运算,最高360°)
MoveTowards(当前值,目标值,取值比例大小)(此方法是匀速运动,差值是先快后慢)
Pingpong(t,length) (t值到达length以后,自动从length传递会t值,然后来回变化)
Pow(f,p)(取得f的p次方)
Sqrt(f) ( 取得f的平方根)
anyKeyDown(无参,任意按键按下触发,包含鼠标)
mousePosition(获取鼠标位置)
Vector2:
Vector3和Vector2是结构体,值类型,需要整体赋值.
Equals(X和Y都一样返回true)
Normalize(向量单位化,对实际数值产生影响)
ClampMagnitude(传递一个长度,把制定向量长度限定在传递长度之类)
Distance(取得A坐标-B坐标的距离)
lerpUnclamped(类似差值预算。但是T大于1或小于0的时候可以超出限定)
Vector3:
Cross(a和b插程结果,垂直于A和B组成的平面,A和B换位结果不一样,返回一个vector3)
Normalize(长度变为1,方向不变 单位化)
Project(返回一个A到B的直角投影长度)
Reflect(返回一个 A的反射结果,B为参照物)
Slerp(A到B的夹角,慢慢变小的过程,插值运算,适合转向)
Random:
InitState(整数值,随机数的种子,让每次重新运行随机数都是一样,可以保证每次随机一样)
Value(0到1的小数,随机生成)
State(获取随机数的种子)
insideUnitCircle(随机长度为A的圆,内一点返回Vector2)
insideUintSphere(随机长度A的球体内一点,返回Vector3)
Quaternion:(四元素,也是结构体)
rotation(设置物体四元素角度)
eulerAnglex(变成欧拉角输出角度)
Euler(转换欧拉角输出一个四元素值)
LooKRotation(一个物体望向敌人需要转动的四元素角度)
Slerp(角度插值,推荐使用slerp)
Rigidbody:
centerofMass(重心)
position(比transform效率更高)
roration(比transform 效率更高)
MovePosition(平滑移动,平均时间)
AddFore(施加力)
Camera:
Main(实际上是标签查找到摄像头)
ScreenPonitToRay(从摄像头到屏幕上一个点转化为射线)
Debug.DrawRay(输出一个可见的射线)
Debug.DrawLine(定义长度颜色的射线)
SceneMangager:(using UnityEngine.SceneManagement)
LoadScene(可以用场景名或者场景打包时的编号切换)
AsyncOperation(可以判断场景加载的进度,显示加载界面)
CreateScene(创建场景)
GetActiveScene(获取当前场景)
GetSceneByBuildIndet(获取一个场景,访问他的其他属性,需要场景加载)
SetActiveScene(设置场景激活)
activeSceneChanged(新加载场景触发)
sceneLoaded(加载场景完毕触发)
sceneUnloaded(卸载场景触发)
Physics:
Raycast(射线碰撞检测)重载(射线,长度)重载(射线,out hit//参数可以存储碰撞信息)
重载3(起点和方向),重载4(射线,距离,物体层)