美文网首页
egret基础:事件处理机制

egret基础:事件处理机制

作者: coffee1949 | 来源:发表于2019-07-07 20:30 被阅读0次

事件发送者
具体的事件
事件侦听者

具体的事件:约会

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 = ''        // 具体干什么

    // 构造函数必须有参数,
    // type:类型
    // bulles:是否冒泡
    // cancelable:是否答应
    public constructor(type:string,bulles:boolean = false,cancelable:boolean = false){
        super(type,bulles,cancelable)
    }
}

事件发送者:男朋友

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

    public order(){
        // 生成一个 约会事件 的事件对象,,,要传递一个事件类型:type参数
        var dateEvent:DateEvent = new DateEvent(DateEvent.DATE)
        // dateEvent是一个具体的事件,,

        // 给dateEvent约会事件添加具体的信息
        dateEvent._year = 2018
        dateEvent._month = 7
        dateEvent._date = 7
        dateEvent._where = '鹊桥'
        dateEvent._todo = '约会'

        // 发送请求事件,,,dateEvent就是一个具体的事件
        this.dispatchEvent(dateEvent)
    }
}

事件侦听者:女朋友

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

    // 侦听约会事件
    public getData(event:DateEvent):void{
        console.log('得到了' + event.target.name + '的约会邀请')
        console.log(`希望${event._year}年${event._month}月${event._date}日你可以和我在${event._where}${event._todo}`)
    }
}

主函数

class Main extends egret.DisplayObjectContainer{
    public constructor(){
        super()
        this.addEventListener(egret.Event.ADDED_TO_STAGE,this.init,this)
    }

    private init(event:egret.Event){
        // 创建男朋友
        let man:Man = new Man()
        man.name = '叶遮天'
        
        // 创建女朋友
        let woman:Woman = new Woman()
        woman.name = '紫月'

        // 注册侦听事件,女朋友侦听DateEvent.Date事件,并getDate处理
        man.addEventListener(DateEvent.DATE,woman.getData,woman)
        // 男朋友邀请
        man.order()
        // 移除侦听器
        man.removeEventListener(DateEvent.DATE,woman.getData,woman)

    }
}

相关文章

  • egret基础:事件处理机制

    事件发送者具体的事件事件侦听者 具体的事件:约会 事件发送者:男朋友 事件侦听者:女朋友 主函数

  • Egret事件机制

    事件的流程 Egret事件机制包含四个步骤:注册侦听器,发送事件,侦听事件,移除侦听器。且是按顺序执行。 注册侦听...

  • 高级UI<第三十三篇>:事件分发机制的简单理解

    在Android开发中,我们经常会处理到屏幕触摸事件,而事件分发机制就是处理屏幕触摸事件的基础。事件分发机制其实很...

  • 第三章-nodejs基础知识

    本章将学习nodejs基础框架,分为五个部分:nodejs的控制台、事件处理机制、事件环机制、为事件指定事件以及取...

  • Draft.js的事件处理机制

    Draft 事件处理机制 Draft.js 内部封装了一系列基础的事件处理函数,当事件触发时,这些函数接收当前ev...

  • Android的事件处理

    事件处理的定义 为用户动作(点击、触摸、按键等)提供响应的机制就叫事件处理机制 两套事件处理机制 1.基于监听的事...

  • 基础HTTP 事件I/O处理器

    基础HTTP 事件IO处理器是一个迷你的互操作机制,可以与外部组件和SCXML实现发送和接收事件。支持基础HTTP...

  • 二十二、事件处理

    Android提供了强大的事件处理机制,包含两套事件处理机制:基于监听的事件处理:为Android界面组件绑定特定...

  • iOS基础补完计划--透过堆栈看事件响应机制

    iOS基础补完计划--透过堆栈看事件响应机制 iOS基础补完计划--透过堆栈看事件响应机制

  • 安卓事件传递机制

    事件传递机制 View dispatchTouchEvent():分发事件 onTouchEvent():处理事件...

网友评论

      本文标题:egret基础:事件处理机制

      本文链接:https://www.haomeiwen.com/subject/qveihctx.html