MoveTowards(当前值 ,目标值 )
MoveTowards(当前值 ,目标值 )
lerp(float a ,float b ,float t)
t0到1
当a=0 b =10
t=0 返回0
t=1返回10
t =0.5 返回5
Mathf常用方法
Mathf.ClosePowerOfTwo(int i) 返回距离i最近的2的次方 6 返回8 1返回1 9返回8
Mathf.DeltaAngle(int r,intr2) 返回角r与角r2的最小夹角
500 与0 du 返回140
Mathf.Exp(int i) E的i次方
Mathf.floor(float f) 向下取整
max( []) min ([]) 取最大 取最小
pow(float f ,floatp) 获取 f的p次方
Sqrt(float f) 返回f的平方根
静态方法
Abs(数字) 返回绝对值
Ceil(数字) 向上取整 返回的是float
CeilToint(数字) 返回的是 int
1.0 - 1
1.1 - 2
1.2 - 2
-1.0 - -1
-1.1 - -1
Clamp(float value ,float min ,float max)
在再返回内返回Value 超出 返回max 小于min返回min
Clamp01 min0 max 1
协程
IEnumerator Fade
{
}
void Update()
{
if(input.GetkeyDown(keycode.Space))
{
//单独调用获取Ienumerator
ie = Fade();
//开启携程
StartCoroutine(ie)
}
if(input.GetkeyDown(KeyCode.S))
{
//StopCoroutine(协程 的Ienumerator) 停止指定协程
//StopAllCoroutine
StopCoroutine(ie)
}
}
yield return new WaitForSenconds(float xx秒)
             协程
 格式
IEnumerator 方法名a()
{
代码块
yield return xx;返回
}
IEnumerator 方法名a()
{
代码块
yield return new WaitForSenconds(float xx秒)
协程的等待时间
}
调用
StartCoroutine(方法名a())
Invoke
Invoke(str 函数名 ,int 几秒后调用)
//几秒后调用目标函数
IsInvoKing(str 函数名) 返回bool
目标函数是否被调用
InvokeRepeating(str 函数名,int 初次调用等待时间 ,float )
mouse相关Api
//点击任何物体都有效果
onMouseDown 在鼠标按下时调用
OnMouseUP 当鼠标抬起时
onMouseDrag 当鼠标拖拽时
OnMouseEnter 当进入鼠标移动在某个物体上时
OnMouseExit 当鼠标退出物体时
OnMouseOver 当鼠标在物体上时
点击挂此脚本的物体才有效
使用条件
:
1鼠标点击物体必须有coll组件 并且勾选了Tigger
2在编辑菜单的phy中必须要勾Querise hit Trigger
写一下
先写过几个最简单的小游戏再看这个课程,如打砖块。对一些常用函数有个印象,懂得unity的基本操作。
Destory (要刪除的東西, 幾秒後刪除)
DontDestoryOnLoad(要保留的東西)
//不讓物體因場景轉換而被銷毀
GameObject.CreatePrimitive(PrimitiveType.看你要生出啥物件)
//會在位置(0, 0, 0)生出對應的物件
Time.time = 遊戲運行時間
Time.FixedTime = 遊戲運行時間
Time.timeSinceLevelLoaded = 場景加載完成才開始計時的時間 (加載進入新場景會重新計時)
Time.realtimeSinceStartup = 遊戲開始就計時的時間 (和time跟FixedTime不同的是:它就算暫停也會繼續計時)
Time.smoothDeltaTime = 每針間隔時間 (變化較小)
Time.DeltaTime = 每針間隔時間 (變化較大 可以在unity中設定)
Time.frameCount = 針數
Time.timeScale = 時間比例
coroutines == 協程 (會和前一個執行序同時向下執行,不會等待)
IEnumerator == 有返回值的協程
StartCoroytine(要執行的method名稱())
Invoke("要執行的method名稱" , delay時間)
//該method會在指定時間後執行
IsInvoking("要檢查的method名稱")
//會去等待列檢查該method是否正在等待,若是則 return true,反之 return false
InvokeRepeating("要執行的method名稱" , 多久後開始執行 , 之後每等待多久執行一次)
CancalInvoke("要執行的method名稱")
//刪除等待列中的 Invoke method
fixedUpdata每帧调用多次(固定的,不和),Update只调用一次。
编译器下退出游戏,UnityEditor.EditorApplication.IsPlaying=false;
GameObject-->align with view:将当前选中游戏物体移动到镜头所在位置
0