`

as3自定义事件小例

    博客分类:
  • as3
阅读更多

1.编写自定义事件类(StageEvent.as)

package events
{
    import flash.events.EventDispatcher;
    import flash.events.Event;
    public class StageEvent extends EventDispatcher
    {
        public static var instance:StageEvent;
        public var behavior:String="";
        public var source:String="";
       
        public function StageEvent()
        {
        }
        public static function getInstance():StageEvent
        {
            if(instance==null)
            {
                instance = new StageEvent();
            }
            return instance;
        }
        public function doAction(source:String,behavior:String,type:String,bubbles:Boolean=false,cancleable:Boolean=false):void
        {
            this.source = source;
            this.behavior = behavior;
            dispatchEvent(new Event(type,bubbles,cancleable));
        }
    }
}

 

2.用法:

在时间轴第一帧写入以下代码:

import events.StageEvent;
import Test;
var stageEvent:StageEvent;
stageEvent = StageEvent.getInstance();
btn.addEventListener(MouseEvent.CLICK,onMouseEventClickHandler);
new Test();
function onMouseEventClickHandler(evt:MouseEvent):void
{
   
    stageEvent.doAction(Test.CLICK,"click",Test.EVENT_TYPE);  //鼠标点击按钮,派发事件给Test类,由Test类执 //行相应操作
}

 

3.Test类,接受事件(Test.as)

package
{
    import flash.events.Event;
    import events.StageEvent;
    public class Test
    {
        public static var EVENT_SOURCE = "event_source";
        public static var EVENT_TYPE = "event_type";
        public static var CLICK = "click";
        public static var OPEN = "open";
        var stageEvent:StageEvent;
       
        public function Test()
        {
           
            stageEvent = StageEvent.getInstance();
            stageEvent.addEventListener(EVENT_TYPE,onEventHandler);
        }
       
        function onEventHandler(evt:Event):void
        {
           
            switch(evt.currentTarget.source)
            {
                case CLICK:
                trace("click");
                break;
                case OPEN:
                trace("open");
                break;
            }
        }
    }
}

 

分享到:
评论

相关推荐

    sqlserver自定义函数

    打开测试数据库test,并以表w01为例,将下面的SQL语句放入sql2000查询分析器中,一段一段执行即可看到效果 ---在sql2000下创建测试数据表 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo]....

    微信小程序 自定义Toast实例代码

    微信小程序 自定义Toast实例代码 Toast样式可以根据需求自定义,本例中是圆形 <!--按钮--> 自定义Toast <!--以下为toast显示的内容 opacity为透明度--> {{toastText}} <view class=toast_box ...

    Android编程实现Toast自定义布局简单示例

    本文实例讲述了Android编程实现Toast自定义布局的方法。分享给大家供大家参考,具体如下: 不知道各位客官是不是觉得系统的toast的信息很...然后找到里面的控件,以单纯的textview为例 TextView txt=(TextView) vie

    pytorch学习教程之自定义数据集

    自定义数据集 在训练深度学习模型之前...以简单的猫狗二分类为例,可以在网上下载一些猫狗图片。创建以下目录: data————-根目录 data/test——-测试集 data/train——训练集 data/val——–验证集 在test/tra

    大名鼎鼎SWFUpload- Flash+JS 上传

     type : string, // The file type as reported by the client operating system  creationdate : Date, // The date the file was created  modificationdate : Date, // The date the file was last modified...

    Pytorch 实现数据集自定义读取

    以读取VOC2012语义分割数据集为例,具体见代码注释: VocDataset.py from PIL import Image import torch import torch.utils.data as data import numpy as np import os import torchvision import torchvision....

    SAP屠夫作品汇总

    例3使用PO处理委外加工 182 例4 Account assignment的逻辑分析 182 例5采购运费处理 182 例6:P&L科目和成本要素的建立 183 例7采购科目分配设置 183 例8汇率变更影响发票校验. 183 例9月结GR/IR处理 183 戏说一下SAP...

    数据透视表SQL语句入门

    例3、查询材料进货明细表的定额名称、规格、年份及数量 SELECT 定额名称,规格,year(日期) as 年份,数量 FROM [材料进货明细表$] 注意:里面的年份已经通过了计算的了,成为一个新的变量。 加多一列自定义的列A厂...

    基于Python 3的在线考试系统+源代码+文档说明

    3. Visit the website using your ip as url and sign in the administrator account you set on last step. 在浏览器中访问你的ip地址,用你刚设置的管理员账户登录 <p align=center><img width=600 src=...

    Delphi编程技巧.rar

    Delphi自定义消息应用一例 自 定 义 快 速 报 表 的 打 印 预 览 窗 口 如何把文件删除到回收站中 在Delphi与C 之间实现函数与对象共享 编 译 错 误 信 息 DELPHI AND THE INTERNET by Charlie Calvert [1...

    vc++ 开发实例源码包

    [3]---事件选择 - WSAEventSelect [4]---重叠I [5]---完成端口 IP所在地查询器 如题。 jpeglib_demo 处理Jpeg图片。 KeyHook 键盘钩子,截获键盘信息。 Kugou7+UI 界面设计。学习界面的好实例,强烈推荐。 自绘...

    Flask和Django框架中自定义模型类的表名、父类相关问题分析

    本文实例分析了Flask和Django框架中自定义模型类的表名、父类相关问题。分享给大家供大家参考,具体如下: 一. Flask和Django中定义表名(执行迁移后生成)的方式和flask是不同的: 1. Django中表名的定义方式,以...

    cms后台管理

    以cms_content_list为例,首先,每一个标签的声明都是在jeecms-context.xml中进行的, <?xml version="1.0" encoding="UTF-8"?> xsi:schemaLocation=...

    Android中 自定义数据绑定适配器BaseAdapter的方法

    // 绑定的一个条目界面的id,此例中即为item.xml private LayoutInflater inflater;// 布局填充器,它可以使用一个xml文件生成一个View对象,可以通过Context获取实例对象  public PersonAdapter(Context context,...

    VB课程设计俄罗斯方块

    m(0) = 3: m(1) = 4: m(2) = 5: m(3) = 6: situation2 = 0 m(0) = 5: m(1) = 15: m(2) = 25: m(3) = 35: situation2 = 1 将它的形状编号为0和1,在后面方便调用,其他的方块造型同样的方法。 2.1.3俄罗斯方块的旋转 ...

    移动短消息控件

    <br/> 开发 SmsControl控件经过严格设计,其特点为:1、调用简单,仅3个函数调用,2个事件消息,简化了客户端的设计。2、收发可靠,所有消息极力发送,发送失败的消息会在两天内持续发送,发送成功...

    python实现梯度法 python最速下降法

    现给出一个算例: 如果人工直接求解: 现给出Python求解过程: import numpy as np from sympy import * import math import matplotlib.pyplot as plt import mpl_toolkits.axisartist as axisartist # 定义...

Global site tag (gtag.js) - Google Analytics