• 白鹭引擎


    1, 自定义事件, MyEvent

    class MyEvent extends egret.Event {
        /**
         * 一般会定义一个 DATA 字段作为事件
         * 绑定事件监听器时, 一般用 类.DATA 直接绑定
         */
        public static DATA:string = "自定义事件";
    
        /**
         * 1, 自定义事件必须继承 egret.Event 类
         * 2, 自定义事件的构造函数需要三个参数:
         * -- type: 事件类型  bubbles: 是否冒泡, cancelable: 是否可以取消默认行为
         * 3, 子类的构造器必须执行 super() 方法
         */
        public constructor(type:string, bubbles:boolean=false, cancelable:boolean=false) {
            super(type,bubbles,cancelable);
        }
    }

    2, 实例化, 绑定 和 触发 自定义事件

    class Main extends egret.DisplayObjectContainer {
    
        public constructor() {
            super();
            this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
        }
    
        /**
         * 通过 对象.addEventListener(事件, 回调, 作用域this)
         * 通过 对象.dispatchEvent(事件实例) 触发自定义事件
         */
        private onAddToStage(event: egret.Event) {
    
            // 实例化自定义事件
            var myEvent:MyEvent = new MyEvent(MyEvent.DATA);
    
            // 给显示对象绑定事件
            this.addEventListener(MyEvent.DATA, function () {
                console.log(1)
            }, this);
    
            // 用显示对象触发事件
            this.dispatchEvent(myEvent);
        }
    }
  • 相关阅读:
    Metrics.NET
    DotNet Multithread
    WebApi框架概述
    RESTful API 概述
    MvcPager分页控件以适用Bootstrap效果
    Windows集群网络负载均衡
    学习Oracle日记(10)-数据类型
    在Eclipse中使用Junit4进行单元测试
    Android--学习笔记--02--AndroidStudio的设置
    Android--学习笔记--01--开发软件安装
  • 原文地址:https://www.cnblogs.com/lovling/p/8405292.html
Copyright © 2020-2023  润新知