Egret社区
1银子
我在Skin中定义了一个按钮
然后我想在SkinnableComponent的UI类中获取resetButton去触发开始时间,下面是获取代码


获取到resetButton=null

请问下我该怎么做呢?

分享到 :
0 人收藏

3 个回复

倒序浏览
dengts  登堂入室 | 2014-8-11 11:22:33
Skin代码

public createChildren():void
        {
            super.createChildren();
            var uiAsset:egret.UIAsset = new egret.UIAsset();
            uiAsset.source = "source.menu";
            this.addElement(uiAsset);

            this.resetButton = new egret.Button();
            this.resetButton.skinName = ResetButtonSkin;
            this.resetButton.right = 10;
            this.resetButton.top = 80;
            this.resetButton.label = "重置游戏";
            this.addElement(this.resetButton);

。。。省略
}

SkinnableComponent代码:
export class MainMenuUI extends egret.SkinnableComponent{

        public addLabel:egret.Label;
        public scoreLabel : egret.Label;
        public highScoreLabel:egret.Label;
        public resetButton:egret.Button;
        public constructor(){
            super();
            this.skinName = MainMenuUISkin;
            this.addEventListener(egret.UIEvent.CREATION_COMPLETE , this.createCompleteEvent, this);
            console.log(this);
            this.resetButton.addEventListener(egret.TouchEvent.TOUCH_TAP , this.startButtonClick, this);
}
。。。省略
yjtx  官方团队 | 2014-8-11 11:49:04
这个是因为createChildren 在构造函数后运行,所以才调不到
f111fei  官方团队 | 2014-8-11 13:20:05
在你的那个createCompleteEvent方法里面写就可以获取到啦。皮肤组件要在主机组件创建完成的时候才能获取到
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部