29784人加入学习
(126人评价)
Unity API常用方法和类详细讲解(基于Unity5.6)
价格 免费
承诺服务

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:将当前选中游戏物体移动到镜头所在位置

 

 

[展开全文]
  1. new GameObject();只带有Transform组件
  2. GameObject go = new GameObject("Cube");
  3. GameObject.Instantiate("Prefab")
[展开全文]

用于控制移动

cube.Translate(Vector3.forward/50f)

cube.Translate(Vector3.forward * Time.deltaTime);

 

Time.timeScale = 0 ; 游戏暂停

Time.timeScale = 0.5f; 游戏慢动作

 

realTimeSinceStartup:用加法运算和乘法运算测试性能消耗

 

老师基础还有需要加强

 

[展开全文]

授课教师

SiKi学院老师

课程特色

图文(1)
下载资料(2)
视频(71)