Egret 自定義皮膚 ———— 引入類中以及createChildren()和 childrenCreated()的使用


 

創建egret游戲項目需要創建大量的皮膚EXML文件,創建之后在嵌入EXML到代碼: (類似於JSON)

  • 第一種直接在代碼中嵌入EXML文本內容
  • 第二中直接把skinName設置為exml文件的路徑。

實例:

class ExmlTestView extends eui.Component{ public constructor() { super(); this.addEventListener(eui.UIEvent.COMPLETE,this.onComplete,this); this.skinName = "xxxx(.exml)"; this.touchChildren = true; } public label: eui.Label; private onComplete() { this.label.text = "hello world!"; this.label.textColor = 0xff0000; } //createChildren():用來對未綁定皮膚的手動調用創建皮膚里的內容到界面 //childrenCreated():創建完成后底層會調用這個函數,用來覆寫作一些初始化處理的(是在組件初始化完成后回調)
    private createChildren() { super.createChildren(); } }

 

上面的例子就是eui皮膚對應的類,在類中如何引用以及這個類中的執行順序。

下面主要對

createChildren()
childrenCreated()

分別做出解釋:
1.createChildren()方法是:
用來對未綁定皮膚的手動調用創建皮膚里的內容到界面,需要加載 exml 文件,所以就要使用到這個方法,所以
createChildren()是最先執行的方法,

2.childrenCreated()方法是:

當 exml 文件 加載完成的時候,會調用這個方法,在createChildren()方法調用之后,也就是組件初始化完成,相當於上面的實例的
onComplete()方法。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM