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