egret事件机制

事件包含三条主要内容:事件的类型,事件的目标,事件的相关数据。事件的类型就是邀请约会,女朋友会 根据事件的不同,来执行不同的任务。比如,事件是“邀请约会”,那么女朋友可能会执行,梳妆打扮,然后赴约。如果事件 是“肚子饿了”,那么女朋友会执行买菜做饭。
执行流程
事件机制包含四个步骤:注册侦听器,发送事件,侦听事件,移除侦听器。
约会事件的发送过程:
文档类

class SampleDate extends egret.DisplayObjectContainer
{
    public constructor()
    {
        super();

        //创建一个男朋友
        var boy:Boy = new Boy();
        boy.name = "男朋友";
        //创建一个女朋友
        var girl:Girl = new Girl();
        girl.name = "女朋友";
        //注册侦听器
        boy.addEventListener(DateEvent.DATE,girl.getDate,girl);
        //男朋友发送要求
        boy.order();
        //约会邀请完成后,移除侦听器
        boy.removeEventListener(DateEvent.DATE,girl.getDate,girl);
    }
}

男朋友类

class Boy extends egret.Sprite
{
    public constructor()
    {
        super();
    }
    public order()
    {
        //生成约会事件对象
        var daterEvent:DateEvent = new DateEvent(DateEvent.DATE);
        //添加对应的约会信息
        daterEvent._year = 2014;
        daterEvent._month = 8;
        daterEvent._date = 2;
        daterEvent._where = "肯德基";
        daterEvent._todo = "共进晚餐";
        //发送要求事件
        //dispatchEvent 是分发模型流程实现的最后一步。
        this.dispatchEvent(daterEvent);
    }
}

女朋友类

class Girl extends egret.Sprite
{
    public constructor()
    {
        super();
    }

    public getDate(evt:DateEvent)
    {
        console.log("得到了" + evt.target.name + "的邀请!" );
        console.log("会在" + evt._year + "年" + evt._month + "月" + evt._date + "日,在"+ evt._where+ evt._todo);
    }
}

约会事件类

class DateEvent extends egret.Event
{
    public static DATE:string = "约会";
    public _year:number = 0;
    public _month:number = 0;
    public _date:number = 0;
    public _where:string = "";
    public _todo:string = "";

    public constructor(type:string, bubbles:boolean=false, cancelable:boolean=false)
    {
        super(type,bubbles,cancelable);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值