參考資料 : [官方用戶手冊](https://docs.cocos.com/creator/manual/zh/)
# 介面操作

* (A)**層級管理器**:以樹狀列表的形式顯示場景中的所有節點和它們的層級關係,所有在場景編輯器 中看到的內容都可以在 中找到對應的節點條目,在編輯場景時這兩個面板的內容會同步顯示,一般我們也會同時使用這兩個面板來搭建場景。 層級管理器
* (B)**資源管理器**:顯示了專案資源資料夾(assets)中的所有資源。這裡會以樹狀結構顯示資料夾並自動同步在作業系統中對專案資源資料夾內容的修改。您可以將檔案從專案外部直接拖曳進來,或使用選單匯入資源。
* (C)**場景編輯器**:用於展示和編輯場景中可視內容的工作區域。透過在場景編輯器中建立場景,即可獲得所見即所得的場景預覽。
* (D)**動畫編輯器**:用於編輯並儲存動畫資料。
* (E)**屬性檢視器**:用於檢視並編輯目前選取節點和元件屬性的工作區域,這個面板會以最適合的形式展示和編輯來自腳本定義的屬性資料。
* (F)**專案預覽**:在場景中搭建完成後,在Web 或原生平台預覽遊戲的運作效果。
---
## ( A )層級管理器
[(A)層級管理器](https://docs.cocos.com/creator/manual/zh/editor/hierarchy/)

* 面板上主要包括**工具列**和**節點清單**兩部分內容,用來展現目前場景中可編輯的節點之間的關係。場景中仍有一些不可見的私有節點,不會在此顯示。
* 可以**單選、多選、建立、複製、移動、刪除和重新命名節點**,任意節點都可建立出子節點,子節點的座標相對於父級節點,跟隨父級節點移動。
---
## ( B )資源管理器
[( B )資源管理器](https://docs.cocos.com/creator/manual/zh/editor/assets/)

* 用於存取和管理專案資源的重要工作區域,面板主要可分為**工具列**和**資源清單**兩部分內容:
* **工具列**中的功能包括新資源、排序方式、搜尋過濾、搜尋框、全部折疊/展開 和刷新清單。詳情可參考下文介紹。
* **資源清單**將專案資源資料夾中的內容以樹狀結構展示出來,預設包含assets 和internal 兩個基本資源庫(簡稱DB):
* **assets** 類似作業系統中的檔案管理器,只有放在專案資料夾的 assets 目錄下的資源才會顯示在這裡。
* **internal** 中的是預設的內建資源(唯讀),內建資源可以複製,但不能進行增刪改操作。可以作為資源模板拖曳到 assets 中,即新建了一個專案資源。
---
## ( C )場景編輯器
[( C )場景編輯器](https://docs.cocos.com/creator/manual/zh/editor/scene/)

* 內容創作的核心工作區域,用於選擇和擺放場景影像、角色、特效、UI 等各類遊戲元素。在這個工作區域內可以選取並透過變換工具 修改節點的位置、旋轉和縮放等屬性,並可以獲得所見即所得的場景效果預覽。
* 場景編輯器包含3D和2D兩種視圖,3D 視圖用於3D 場景編輯,2D 視圖則主要用於UI 節點等2D 元素的編輯。
* **3D視圖** 
* 目前是 3D 視圖模式,此時視圖的相機為透視類型。點選後可進入 2D 視圖。
* 平移視圖 : **滑鼠中鍵**、(**空白鍵 + 滑鼠/觸控板拖曳**)
* 以視圖中心點為中心旋轉 : **滑鼠左鍵 + Alt**
* 以視圖中心點為中心縮放視圖 : **滑鼠滾輪**
* 攝影機漫遊 : **滑鼠右鍵 + WASD**
* **2D視圖** 
* 目前為2D 視圖模式,此時的視圖相機為正交類型,再次點擊後會回到3D 視圖。
* 平移視圖 : **滑鼠中鍵**、**滑鼠右鍵**
* 以目前滑鼠懸停位置為中心縮放視圖 : **滑鼠滾輪**
* 攝影機聚焦到目前選取節點 : **F 快速鍵**
* **變換工具** 
* 負責節點的平移、縮放、旋轉、吸附、錨點/中心、本地/世界座標系 等功能。
*  **位移變換工具**
*  **旋轉變換工具**
*  **縮放變換工具**
*  **矩形變換工具**
*  **增量吸附工具**
*  **變換工具位置**
*  **變換工具的控製手把方向**
*  **對齊和分佈**
* **3D視圖右側工具** 
*  **繪製模式**
*  **場景燈光設定**
*  **視圖相機**
*  **網格設定**
*  **場景 Gizmo**
* **2D視圖右側工具** 
*  **按1:1顯示**
*  **視圖相機**
*  **網格設定**
*  **參考圖設定**
---
## ( E )屬性檢查器
[( E )屬性檢查器](https://docs.cocos.com/creator/manual/zh/editor/inspector/)

* 檢視並編輯目前選取節點、節點元件和資源。在場景編輯器或層級管理器選取節點,或在資源管理器 選取資源,就可以在屬性檢視器 中顯示並編輯屬性。
---
## 主選單
[主選單](https://docs.cocos.com/creator/manual/zh/editor/mainMenu/)

* 主功能表列包含**檔案、編輯、節點、專案、面板、擴充功能、開發者**和**幫助** 8 個選單項,整合了 Cocos Creator 大部分的功能點。
---
## 術語
[術語](https://docs.cocos.com/creator/manual/zh/glossary/)
* 關於**編輯器、圖形、光照、2D/使用者介面、動畫、物理、2D物理、3D物理、資源系統、腳本與程式設計、原生開發、其他功能**術語解釋
# 基本元件
---
## Scene (場景)
### 場景資源
[場景資源](https://docs.cocos.com/creator/manual/zh/asset/scene.html)

* 遊戲場景(Scene)是遊戲開發時組織遊戲內容的中心,也是呈現給玩家所有遊戲內容的載體。而場景檔案本身也作為遊戲資源存在,並保存了遊戲的大部分訊息,也是創作的基礎。
### 切換場景
[切換場景 文件](https://docs.cocos.com/creator/api/zh/class/Director?id=loadscene)
[載入和切換場景](https://docs.cocos.com/creator/manual/zh/scripting/scene-managing.html)
* 直接切換場景

* 預先加載場景 : 預先加載場景到記憶體後執行func()

* 新增和移除常駐節點 : 使用`addPersistRootNode`將需求節點加入常駐可在切換場景後仍然保留,`removePersistRootNode`移除常駐的節點

* 加載場景回調 : 切換場景且呼叫函數,通常用在常駐節點

### 資源釋放
[資源釋放](https://docs.cocos.com/creator/manual/zh/asset/release-manager.html#auto-release)
* 資源之間是互相依賴的

* **自動釋放**

* 所有Asset 實例都擁有成員函數Asset.addRef 和Asset.decRef,分別用於增加和減少引用計數。一旦引用計數為零,Creator 會對資源進行自動釋放
* **釋放檢查**
* 為了避免錯誤釋放正在使用的資源造成渲染或其他問題,Creator 會在自動釋放資源之前進行一系列的檢查,只有檢查通過了,才會進行自動釋放。
1. 如果資源的引用計數為 0,即沒有其他地方引用到該資源,則無需做後續檢查,直接摧毀該資源,移除快取。
2. 資源一旦移除,會同步觸發其依賴資源的釋放檢查,將移除快取後的資源的直接 依賴資源(不含後代)的引用均減1,並同步觸發釋放檢查。
3. 如果資源的引用計數不為 0,即存在其他地方引用到該資源,此時需要進行循環引用檢查,避免出現自己的後代引用自己的情況。如果循環引用檢查完成之後引用計數仍不為 0,則終止釋放,否則直接摧毀該資源,移除緩存,並觸發其依賴資源的釋放檢查(同步驟 2)。
* **手動釋放**
```
assetManager.releaseAsset(texture);
```
* **release** 系列介面(例如 **release**、**releaseAsset**、**releaseAll**)會直接釋放資源,而不會進行釋放檢查,只有其依賴資源會進行釋放檢查。 所以當明確呼叫 release 系列介面時,可以確保資源本身一定會被釋放。
---
## Node & Component (節點和組件)
[Node 文件](https://docs.cocos.com/creator/api/zh/class/Node)
[Component 文件](https://docs.cocos.com/creator/api/zh/class/Component)
[節點和組件](https://docs.cocos.com/creator/manual/zh/concepts/scene/node-component.html)
* Cocos Creator 3.0 的工作流程是以**組件式開發**為核心的,組件式架構也稱為實體-組件架構(Entity-Component System),簡單來說,就是以**組合而非繼承**的方式進行遊戲中各種元素的構建。
* **節點(Node)** 是承載元件的實體,透過將具有各種功能的 **組件(Component)** 掛載到節點上,來讓節點具有各式各樣的表現和功能。
* 最基本的Node

* 根據需求添加不同組件

---
## Sprite (精靈)
[精靈](https://docs.cocos.com/creator/manual/zh/asset/sprite-frame.html)
* 使用預設的資源匯入方式將影像資源匯入到專案中,然後在屬性檢查器中將影像資源的類型設定為sprite-frame,並點選右上角的綠色打鉤按鈕儲存
* Creator 會自動在匯入的映像資源下建立一個如下圖所示的 spriteFrame 資源



---
## Prefab (預設體)
[預設體](https://docs.cocos.com/creator/manual/zh/asset/prefab.html)
* 預設體是引擎內建的資源,其主要的作用是為某些節點提供克隆的可能。想像一下如果遊戲有 1000 個相同的敵人,那麼製作 1000 個這樣節點是非常耗時的,預製體可以幫助我們很好的解決這個問題,我們只需將這個角色的預製體克隆 10000 次就可以了
* **建立預設體**有兩種方法:
1. 在場景中編輯好節點後,直接將節點從層級管理器**拖曳到資源管理器**中即可完成預設體資源的建立。
2. 點選資源管理器 左上方的+ 按鈕,或點選面板空白處,然後選擇**Node Prefab** 即可。(v3.1.1 新增)

* 一般元件 : 白色

* Prefab 綠色

* 多了Prefab欄分別是 : 編輯Prefab、和Prefab同步、標示出屬於的Prefab、重製Prefab、保存Prefab

* 加載進場景
* 直接拖曳到screen
* 動態載入
1. 從Script將Prefab寫成屬性從外面進行預設體關聯
2. 將先前設置好Pre屬性內的Prefab給實例化成node並給實例出的node設置父節點
## 動態載入
[加載資源](https://docs.cocos.com/creator/manual/zh/asset/dynamic-load-resources.html)
* **SpriteFrame**
1. 新增`resources`資料夾 : 內部的資源可動態加載


2. 使用`resources.load('資料夾/SpriteFrame名稱/spriteFrame', SpriteFrame, (err, sp) => {});`非同步載入資源,第一參數:資源路徑、第二參數:資源類型、第三參數:加載好後呼叫函數取得失敗原因和結果
3. 取得當前節點身上Sprite組件的spriteFrame屬性並將加載好的spriteFrame資源附予

* **Prefab**
1. 
2. `resources.load("資料夾/Prefab名稱", Prefab, (err, pb) => {});`
3. 將加載好的Prefab資源實例化後並掛在父節點 
---
# 座標系
[座標系和節點變換屬性](https://docs.cocos.com/creator/manual/zh/concepts/scene/coord.html)
* **世界座標系(World Coordinate)**
* 世界座標係也叫做絕對座標系,在 Cocos Creator 3.0 遊戲開發中表示場景空間內的統一座標體系,「世界」用來表示我們的遊戲場景。
* Creator 3.0 的世界座標系採用的是笛卡爾右手座標系,預設 x 向右,y 向上,z 向外,同時使用 -z 軸為正前方朝向。
* **本地座標系(Local Coordinate)**
* 本地座標係也叫相對座標系,是和節點相關聯的座標系。 每個節點都有獨立的座標系,當節點移動或改變方向時,和該節點關聯的座標系將隨之移動或改變方向。
* Creator 3.0 的節點(Node) 之間可以有父子關係的層級結構,我們透過修改節點的 Position 屬性設定的節點位置是該節點相對於父節點的 本地座標系,而非世界座標系。
* **變換屬性**
* 節點包含了位置(Position)、旋轉(Rotation) 和縮放(Scale) 三個主要的變換屬性。

* 位置(Position)
* 由 X、Y 和 Z 屬性組成,分別規定了節點在目前座標系 x 軸、 y 軸和 z 軸上的座標,預設為(0, 0, 0)
* 旋轉(Rotation)
* 由 X、Y 和 Z 屬性組成,預設為 (0, 0, 0),是另一個會對節點本地座標系產生影響的重要屬性。 當改變 X 屬性時,表示節點會以 x 軸為中心逆時針
* 縮放(Scale)
* 由 X、Y 和 Z 三個屬性組成,分別表示節點在 x 軸、y 軸和 z 軸上的縮放倍率,預設為(1, 1, 1)
---
# UI元件
## Widget (對齊组件)
[對齊组件](https://docs.cocos.com/creator/manual/zh/ui-system/components/engine/widget-align.html)
* UI 元素依照設計解析度中規定的位置呈現是不夠的,當螢幕寬度和高度改變時,UI 元素要能智慧感知螢幕邊界的位置,才能確保出現在螢幕可見範圍內,並且分佈在適當的位置。我們透過 Widget(對齊掛件) 來實現這種效果。

## Button(按鈕组件)
[按鈕组件](https://docs.cocos.com/creator/manual/zh/ui-system/components/editor/button.html)
* Button 元件可以回應使用者的點擊操作,當使用者點擊 Button 時,Button 本身會有狀態變化。另外,Button 還可以讓使用者在完成點擊操作後回應一個自訂的行為。

---
## Layout(自動佈局)
[自動佈局](https://docs.cocos.com/creator/manual/zh/ui-system/components/engine/auto-layout.html)

* **水平布局(Horizontal)**
* Layout Type 設為 **Horizontal**
* Horizontal Direction
* LEFT_TO_RIGHT
* RIGHT_TO_LEFT

* **垂直布局(Vertical)**
* Layout Type 設為 **Vertical**
* Vertical Direction
* BOTTOM_TO_TOP
* TOP_TO_BOTTOM

* **網格佈局(Grid)**
* Layout Type 設為 **Grid**
* Start Axis
* HORIZONTAL
* VERTICAL
* Start Points
* Horizontal Direction
* LEFT_TO_RIGHT
* RIGHT_TO_LEFT
* Vertical Direction
* BOTTOM_TO_TOP
* TOP_TO_BOTTOM
---
## Label (文字组件)
[文字组件](https://docs.cocos.com/creator/manual/zh/ui-system/components/engine/label-layout.html)

* **Horizontal Align(水平對齊)**
* 文字在約束框中水平方向的對齊準線,可從 Left、Right、Center 三種位置中選擇。
* **Vertical Align(垂直對齊)**
* 文字在約束框中垂直方向的對齊準線,可從 Top、Bottom、Center 三種位置中選擇。
* **Font Size(文字尺寸)**
* 決定了文字的顯示大小,單位是 Point
* 對於動態字體來說,Font Size 可以無損放大,但點陣字體在將Font Size 設定為超過字體標定的字號大小時,顯示會變得越來越模糊。
* **Line Height(行高)**
* 決定了文字在多行顯示時每行文字佔據的空間高度,單位是 Point
* **Overflow(排版模式)**
* 決定了文字內容增加時,如何在約束框的範圍內排布
* 共有NONE、CLAMP、 SHRINK、RESIZE_HEIGHT 四種模式
* NONE模式會自動依據文字尺寸、行高等固定約束框尺寸。
* 只有後三種模式下才能透過編輯器左上角的矩形變換工具或修改屬性檢查器中的 Size 大小或新增 Widget 元件 來調整約束框的大小
* **Clamp(截斷)**
* 文字首先按照對齊模式和尺寸的要求進行渲染,而超出約束框的部分會被隱藏(截斷)
* **Shrink(自動縮小)**
* 如果文字依照原定尺寸渲染會超出約束框時,會自動縮小文字尺寸以顯示全部文字
* **Resize Height(自動適應高度)**
* 自動適應高度模式會確保文字的約束框貼合文字的高度,不管文字有多少行。這個模式非常適合顯示內容量不固定的大段文字
* **Enable Wrap Text(自動換行)**
* 可以切換文字的自動換行開關
* 在自動換行開啟的狀態下,在輸入文字時不需要手動輸入回車或換行符,文字也會根據約束框的寬度自動換行。
* 自動換行屬性只有在文字排版模式的截斷(Clamp)和自動縮小(Shrink)這兩種模式下才有。
* 自動適應高度(Resize Height) 模式下,自動換行屬性是強制開啟的。
---
# 組件腳本
## Component (組件)
[組件](https://docs.cocos.com/creator/manual/zh/scripting/setup.html)
* 資源管理器 面板空白位置或某個資料夾資源下右鍵點選選單,選擇**Create > TypeScript > NewComponent**
* 資源管理器 左上角的+ 按鈕,點選後選擇**TypeScript > NewComponent**



---
## Property (屬性裝飾器)
[屬性裝飾器](https://docs.cocos.com/creator/manual/zh/scripting/decorator.html)
* 屬性裝飾器用於控制 Cocos Creator 編輯器中對該屬性的序列化、屬性檢查器中對該屬性的展示等。
* 屬性裝飾器的各種特性是透過 @property() 的參數來指定的
---
## Life Cycle (生命週期回調)
[生命週期回調](https://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html)
* Cocos Creator 為組件腳本提供了生命週期的回呼函數。開發者只需要定義特定的回呼函數,Creator 就會在特定的時期自動執行相關腳本,開發者不需要手動呼叫它們。
* **onLoad**
* 節點首次啟動時觸發
* **onEnable**
* 組件的 enabled 屬性從 false 變成 true 時
* 所在節點的 active 屬性從 false 變成 true
* **start**
* 組件第一次啟動前,也就是第一次執行 update 之前觸發
* **update**
* 每一幀觸發
* **lateUpdate**
* 希望在所有組件的 update 都執行完之後才進行其它操作,就需要用到 lateUpdate
* **onDisable**
* 組件的 enabled 屬性從 true 變成 false 時
* 所在節點的 active 屬性從 true 變成 false
* **onDestroy**
* 組件或所在節點呼叫了 destroy()
---
## 存取節點和組件
[存取節點和組件](https://docs.cocos.com/creator/manual/zh/scripting/access-node-component.html)
* **取得組件所在的節點**
* `this.node`
* **取得同一個節點上的其它組件**
* `this.getComponent `
* **利用屬性檢查器設定節點**
* `@property({ type: Node })
private name = null;`
* **利用屬性檢查器設定組件**
* `@property({ type: 組件名 })
private name = null;`
* **尋找子節點**
* `this.node.getChildByName`
* `find("xxx/xx/xxxx", this.node);`
* **全域名字查找**
* find 只傳入第一個參數時,將從場景根節點開始逐級找出
* `find("Canvas/Menu/Back")`
* **透過模組訪問**
* 每個腳本都能用 import{ } from + 檔案名稱(不含路徑) 來取得對方 exports 的物件
---
# 事件系統
## 自定義事件
[自定義事件](https://docs.cocos.com/creator/manual/zh/engine/event/event-emit.html)
* Cocos Creator 引擎提供了EventTarget 類,以實現自訂事件的監聽和發射,在使用之前,需要先從'cc' 模組匯入,同時需要實例化一個EventTarget 物件。
* **監聽事件** `eventTarget.on(type, func, target?);`
* type 為事件註冊字串
* func 為執行事件監聽的回呼
* target 為事件接收對象。如果 target 沒有設置,則回呼裡的 this 指向的就是目前執行回呼的物件。`
* 除了使用 on 監聽,once 監聽在監聽函數回應後就會關閉監聽事件。
* **取消監聽事件**
* 取消物件身上所有註冊的該類型的事件 `eventTarget.off(type);`
* 取消物件身上該型別指定回呼指定目標的事件 `eventTarget.off(type, func, target);`
* **事件發射** `eventTarget.emit(type, ...args);`
* emit 函數的第二個參數傳遞事件參數。同時,在 on 註冊的回呼裡,可以取得對應的事件參數。
## 輸入事件
[輸入事件](https://docs.cocos.com/creator/manual/zh/engine/event/event-input.html)
* 在Cocos Creator 3.4.0 中,支援了 input 對象,該對象實現了 EventTarget 的事件監聽接口,可以透過 input 物件監聽全域的系統輸入事件。而原先的 systemEvent 物件則從 v3.4.0 開始廢棄了,未來將逐步移除,建議使用 input 物件作為替代。
* **滑鼠事件**
* `Input.EventType.MOUSE_DOWN`
* `Input.EventType.MOUSE_MOVE`
* `Input.EventType.MOUSE_UP`
* `Input.EventType.MOUSE_WHEEL`
* **觸摸事件**
* `Input.EventType.TOUCH_START`
* `Input.EventType.TOUCH_MOVE`
* `Input.EventType.TOUCH_END`
* `Input.EventType.TOUCH_CANCEL`
* **鍵盤事件**
* `Input.EventType.KEY_DOWN`(鍵盤按下)
* `Input.EventType.KEY_PRESSING`(鍵盤持續按下)
* `Input.EventType.KEY_UP`(鍵盤釋放)
* **設備重力感測事件**
* `Input.EventType.DEVICEMOTION`
## 節點上事件
[節點上事件](https://docs.cocos.com/creator/manual/zh/engine/event/event-node.html)
* Node 也實作了 EventTarget 的事件監聽介面。在此基礎上,提供了一些基礎的節點相關的系統事件。
* **滑鼠事件類型和事件對象**
* `Node.EventType.MOUSE_DOWN`
* 當滑鼠在目標節點區域按下時觸發一次
* `Node.EventType.MOUSE_ENTER`
* 當滑鼠移入目標節點區域時觸發,不論是否按下
* `Node.EventType.MOUSE_MOVE`
* 當滑鼠在目標節點區域中移動時觸發,不論是否按下
* `Node.EventType.MOUSE_LEAVE`
* 當滑鼠移出目標節點區域時觸發,不論是否按下
* `Node.EventType.MOUSE_UP`
* 當滑鼠從按下狀態放開時觸發一次
* `Node.EventType.MOUSE_WHEEL`
* 當滑鼠滾輪滾動時觸發
* **觸摸事件類型和事件對象**
* `Node.EventType.TOUCH_START`
* 當手指觸點落在目標節點區域內
* `Node.EventType.TOUCH_MOVE`
* 當手指在螢幕上移動時
* `Node.EventType.TOUCH_END`
* 當手指在目標節點區域內離開螢幕時
* `Node.EventType.TOUCH_CANCEL`
* 當手指在目標節點區域外離開螢幕時
* **節點事件派發** `node.dispatchEvent()`
* Cocos Creator 在 Node 上支援了 dispatchEvent 接口,透過該接口派發的事件,會進入事件派發階段。事件在派發之後,會經歷以下三個階段:
* 捕捉:事件從場景根節點,逐級向子節點傳遞,直到到達目標節點或在某個節點的回應函數中中斷事件傳遞
* 目標:事件在目標節點上觸發
* 冒泡:事件由目標節點,逐級向父節點冒泡傳遞,直到到達根節點或在某個節點的回應函數中中斷事件傳遞
## 事件API
[事件API](https://docs.cocos.com/creator/manual/zh/engine/event/event-api.html)
* 滑鼠事件 API
* 全域滑鼠事件 API
* 節點滑鼠事件 API
* 觸摸事件 API
* 全域觸控事件 API
* 節點觸摸事件 API
---
# Tween (緩動系統)
* 用於解決離線動畫無法滿足需求時的動態動畫的問題。
* 在 Cocos Creator 中,緩動除了可以用於變換位置、旋轉、縮放和顏色等常規動畫訊息,還支援延遲,隊列,並行等動作行為。
## 緩動介面
[緩動介面](https://docs.cocos.com/creator/manual/zh/tween/tween-interface.html)
* **tween**
* 這是一個工具函數,幫助實例化 Tween 類別
* 此方法並非 Tween 類別的成員,開發者也可自行呼叫 `new Tween<T>(target:T)`的方式實例化緩動。
* **介面**
* tag 為當前緩動添加一個數值類型(number)的標籤
* to 添加一個對屬性進行絕對值計算的間隔動作
* by 添加一個對屬性進行相對值計算的間隔動作
* set 添加一個直接設置目標屬性的瞬時動作
* delay 添加 一個延遲時間的瞬時動作
* call 添加一個調用回調的瞬時動作
* target 添加一個直接設置緩動目標的瞬時動作
* union 將上下文的緩動動作打包成一個
* then 插入一個Tween 到緩動隊列中
* repeat 執行幾次(此前 為重複幾次,請及時適配)
* repeatForever 一直重複執行
* sequence 添加一個順序執行的緩動
* parallel 添加一個同時進行的緩動
* start 啟動緩動
* stop 停止緩動
* clone 克隆緩動
* show 啟用節點鏈上的渲染, 緩動目標需要為
* Node hide 停用節點鏈上的渲染,緩動目標需要為
* Node removeSelf 將節點移出場景樹,緩動目標需要為Node
* **靜態介面**
* stopAll 停止所有緩動該介面會移除底層所有已註冊的緩動動畫注意:此方法會影響所有物件
* stopAllByTag 停止所有指定標籤的緩動該介面將移除透過tag 方法指定的所有緩動可透過指定 第二個參數target?: object 來指定是否僅移除該物件上帶有某個標籤的緩動
* stopAllByTarget 停止所有指定物件的緩動
## 緩動函數
[緩動函數](https://docs.cocos.com/creator/manual/zh/tween/tween-function.html)
[ITweenOption 文件](https://docs.cocos.com/creator/api/zh/interface/ITweenOption)
* 引擎實現了一系列不同類型的緩動函數,透過這些緩動函數,可以實現不同的即時動畫效果。這些緩動函數主要用於 `Tween.to` 和 `Tween.by` 這兩個介面中。
* **ITweenOption**
* ITweenOption 為緩動的選用屬性介面定義。其介面皆為可選,可按需使用