Cocos Creator元件開發cc.Component
阿新 • • 發佈:2018-12-26
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來訪問這個元件例項說掛載的節點物件;