1. 程式人生 > >Cocos Creator元件開發cc.Component

Cocos Creator元件開發cc.Component

1.元件簡介

    元件是Cocos Creator的主要構成,渲染(場景顯示內容)、邏輯、使用者輸入反饋、計時器等等幾個方面都是由元件完成的。根據Cocos Creator的總體架構,元件和節點配合完成遊戲所需內容。

    所有元件都是程式碼指令碼。一部分是Cocos Creator提供的,原始碼在Cocos Creator安裝目錄中;一些是使用者自定義指令碼,可在資源管理器中找到對應的指令碼檔案,元件需要新增到節點上才能執行

    Cocos Creator是元件式開發遊戲,元件是完成某種功能的部件,例如假設一個人穿了防彈衣又拿了把槍,那麼人相當於節點,防彈衣和槍相當於元件,防彈衣元件給人提供了不會被槍擊射死的功能,而槍元件給人提供了可以射擊敵人功能

。如果把人(節點)去掉槍(元件)這個元件後,那麼人就不具備了可以射擊敵人的功能。

    因此,元件直接作用在節點之上!

2.cc.Component

    2.1 在Cocos Creator js引擎中有cc.Component這個元件,它為所有元件的基類。即所有的元件都擴充套件自cc.Component(, 建構函式);

    2.2 每一個cc.Component元件例項都有個成員node,指向它關聯的節點cc.Node;

    2.3 每一個cc.Component元件例項可以通過name屬性獲得節點的名稱;

    2.4 元件例項入口函式:

onLoad: 在元件載入的時候呼叫;

start: 元件第一次啟用前, 呼叫在第一次update之前;

update(dt): 每次遊戲重新整理的時候呼叫,

lateUpdate(dt): 在update之後呼叫;

enabled:元件是否被啟動;

onEnable: 元件被允許的時候呼叫;

onDisable: 元件不被允許的時候呼叫;

3.this和this.node區別

    指令碼程式碼中的

    this:當元件載入執行的時候,程式碼函式裡面的this指向這個元件的例項;

    this.node:指的是元件所掛的節點(cc.Node);所以在程式碼元件裡面,可以使用this.node來訪問這個元件例項說掛載的節點物件;

4.cc.Component屬性和方法