laya2.1.1.1
參考:
一 沒有自定義組件
教程翻了幾遍,沒有自定義組件,論壇搜了下,說是不能使用。
二 預置件做自定義組件
預置件無法右鍵創建。
又去翻教程。終於知道預置件怎么創建了。就是選中一個組件,然后右上角有個按鈕,設置為預置件。
選擇了分離模式導出,但是預置件代碼不能像scene一樣生成在layaMaxUI.ts中,然后去繼承。
仿照laya的demo中dropbox預置件的寫法。現在創建關卡圖標預制體LevelFlag.prefab和代碼邏輯LevelFlag.ts。
在代碼邏輯LevelFlag.ts中獲取預制體組件,用getChildByName獲取。比較麻煩。
獲取預置件上掛着的代碼邏輯LevelFlag.ts,需要使用getComponent。
let levelFlag:LevelFlag = this.flag.getComponent(Laya.Script);
三 使用Scene做自定義組件
現在只能用Scene做自定義組件。比如我現在要創建10個關卡圖標自定義組件LevelFlag
1. 創建一個scene命名為LevelFlag.scene
2. LevelFlag.scene綁定runtime為邏輯類LevelFlag.ts
3. 拖動這個LevelFlag.scene到其他scene中使用,命名為flag
4. 在LayaMaxUI.ts里獲得這個組件類型是flag:any, -_-!, 代碼里要自己轉換一下 flag as LevelFlag使用