InPutManager查看按键
GetMouseButton(); 0,1,2
InPutManager查看按键
GetMouseButton(); 0,1,2
GetKey();检测按键
GetKeyDown();检测按键按下
GetKeyUp();检测按键抬起
Edit-Project Settings-Input
Mathf.PingPong(t,20);
t默认值是零
来回运动
LerpAngle会保证插值在360度以内
MoveTowards(float current,float target,float maxDelta);匀速
Lerp(float a,float b,float t) 插值运算
一般用来动画效果,一般
ClosetPowerOftwo 取得离2的次方最近的数
DeltaAngle 两个角度的最短的差
Exp
Floor 向下取整
Lerp 插值运算
LerpAngle 插值运算角度
Max 取最大值
Pow 取次方
Sqrt 取得平凡根
Mathf.Abs 取绝对值
Mathf.Ceil 向上取整
Mathf.CeilToint 也是向上取整 不过返回的是整数类型的
Mathf.Clamp(float value, float max,float min) 夹紧
一般情况下血量回血用这种方法,而且可以限定在范围之内
Clamp01
Mathf.Deg2Rad 把度数变为弧度
Mathf.Rad2Deg 把弧度转成度数
Maths.Epsilon 代表一个非常小的小数
Maths.Infinity 代表一个无限大的数字
Mathf.NegativeInfinity 代表一个非常小的数数字
Mathf.PI 圆周率
OnMouseDown(); 鼠标按下
OnMouseUp();鼠标抬起
只会在一个游戏物体上实现
OnMouseDrag();鼠标拖拽
OnMouseEnter(); 鼠标进入
OnMouseExit(); 鼠标离开
OnMouseOver(); 鼠标一直在物体身上一直运行
Edit-Physics-Queries Hit Triggers
OnMouseUpAsButton() 只能在同一物体身上触发
StartCoroutine()
StopCoroutine()
StopAllCoroutine
StartCoroutine(Fade())
IEnumerator Fade()
{
Color c = GetComponent().material.color; Color c1 = Color.Lerp(c,Color.red,0.02f); GetComponent().material.color = c1;
yield return new WaitForSeconds(0.02f);
if (Mathf.Abs(Color.red.g - c1.g) <= 0.01f)
{ break; }
}
Coroutine 协程
协同一起执行,并不等待普通方法执行完
协程方法在运行的过程中是可以暂停的。
协程方法的调用
StartCoroutine((ChangeColor));
返回值
IEnumerator ChangeColor()
{
yield return null;//返回参数时用yield return
}
InvokeRepeating("Attack",4,2);
CancelInvoke("Attack"); 可以不指定方法名,取消脚本中所有的Invoke()fan
Monobehaviour
编辑器下
runInEditMode
ExecuteInEditMode
Message
Invoke();
CancelInvoke(); 只影响当前脚本中的Invoke
GetComponent 得到游戏物体上的组件
GetComponents 得到游戏物体上的多个组件
GetComponentInChildren 得到子物体上的组件
GetComponentsInChildren 得到子物体上的所有组件()
GetComponentInParent 得到父物体上所有的组件
不管子父都包含自己
BroadcastMessage(方法的名字) 广播消息
可以不需要接受者
会传送个子物体
减少耦合性
SendMessage 针对某个目标发送消息,只会在此游戏物体上调用方法
SendMessageUpwards
activeInHierachy
静态方法
CreatePrimitive
Find 根据名字来查找的,比较耗费性能
FindGameObjectWithTag 访问的是一个数组
FindwithTag 访问第一个符合条件的
Object用的静态方法
Destory 销毁,游戏物体和组件都可以销毁
Destroyimmedaiate 立即销毁
DontDestoryOnLoad 在场景切换的时候不要销毁
FindObjectOfType 根据组件类型查找游戏物体上的组件
FindObjectsOfType 同上但是可以有多个
Instantiate 根据一个游戏物体来进行实例化
enabled禁用组件
一个游戏由多个场景Scene组成
一个场景由多个游戏物体GameObject组成
一个游戏物体由多个组件Component组成
Syetem.Object
UnityEngine.Object
获取当前组件的名字会获得游戏物体的而不是