原文 http://www.cnblogs.com/acpp/archive/2010/10/19/1855670.html

 package {

     import flash.events.Event;

     //导入事件类

     public class CustomEvent extends Event {

         //声明自定义事件扩展自事件类成为其子类

         public static  const SENDFLOWER:String="sendFlower";

         //声明静态常量作为事件类型1

         public static  const SENDCAR:String="sendCar";

         //声明静态常量作为事件类型2

         public var info:String;

         //声明变量储存事件信息,这也是我们用自定义事件的主要原因,可以用他来

         //携带额外的信息

         public function CustomEvent(type:String,inf) {

             super(type);

             //调用父类构造函数并设置传入的参数作为事件类型

             info=inf;

             //将传入的参数2存入info

         }

     }

 }

 //2、男孩类:
package { import flash.events.EventDispatcher; //导入事件发送者类 import flash.events.Event; //导入事件类 public class Boy extends EventDispatcher { //声明男孩类扩展自事件发送者类,成为其子类 public function sendFlower() { //声明公开送花方法; var info:String="玫瑰花"; //声明局部变量设置发送信息 var events=new CustomEvent(CustomEvent.SENDFLOWER,info); //声明一个新的自定义事件类的实例,并设置类型为第一种、 //将发送信息存入事件 this.dispatchEvent(events); //发送该事件 } public function sendCar() { //声明公开送车方法; var info:String="百万跑车"; //声明局部变量设置发送信息 var events=new CustomEvent(CustomEvent.SENDCAR,info); //声明一个新的自定义事件类的实例,并设置类型为第二种、 //将发送信息存入事件 this.dispatchEvent(events); //发送该事件 } } } //3、女孩类:
package {
public class Girl {
public function replay(info):void {
trace(info);
}
//声明公开方法,做出反应
}
}
//4、文档类:
package { import flash.display.Sprite; //导入Sprite类 public class Documents extends Sprite { //声明文档类扩展自sprite类 private var _boy:Boy; //声明私有属性为男孩类型 private var _girl:Girl; //声明私有属性为女孩类型 public function Documents() { //构造函数 _boy=new Boy; //创建男孩实例 _girl=new Girl; //创建女孩实例 _boy.addEventListener(CustomEvent.SENDFLOWER,_hand); //为男孩增加类型为CustomEvent.SENDFLOWER的事件监听 _boy.addEventListener(CustomEvent.SENDCAR,_hand); //为男孩增加类型为CustomEvent.SENDCAR的事件监听 _boy.sendCar(); //调用男孩的送车的方法。你可以再试着调用男孩的sendFlower //方法试试,看结果有什么不同 } private function _hand(E:CustomEvent):void { //声明事件处理器 _girl.replay("我收到一位帅哥送我的:"+E.info); //调用女孩的replay方法。 } } }

【转】Flash AS3.0 中的自定义事件的更多相关文章

  1. as3.0中如何阻止事件冒泡

    原作者:菩提树下的杨过转载出处:http://yjmyzz.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究 ...

  2. wpf自定义控件中使用自定义事件

    wpf自定义控件中使用自定义事件 1 创建自定义控件及自定义事件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 ...

  3. 转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式

    Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关 ...

  4. Spring中实现自定义事件

    原理: 通过扩展ApplicationEvent,创建一个事件类CustomEvent.这个类必须定义一个默认的构造函数,它应该从ApplicationEvent类中继承的构造函数. 一旦定义事件类, ...

  5. Java&&As3.0 中的final 关键字

    Java和AS3.0关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率.   可以修饰的对象:   fin ...

  6. DragonBones龙骨骨骼中的自定义事件(另有声音、动画事件)

    参考: DragonBones骨骼动画事件系统详解 一.在DragonBones中添加自定义事件帧 动画制作时 时间轴拉到最下面有一个事件层,添加一个事件帧 左边属性面板定义自定义事件 二.Egret ...

  7. vue--组件中的自定义事件

    父组件通过props向子组件传递数据,子组件通过自定义事件向父组件传递信息. 在子组件中通过$emit触发事件,父组件在直接使用子组件的地方使用v-on(即@)来监听子组件触发的事件. 举例:(不知道 ...

  8. DOM3中的自定义事件

    DOM3级还定义了自定义事件,自定义事件不是由DOM原生触发的,它的目的是让开发人员创建自己的事件.要创建的自定义事件可以由createEvent("CustomEvent"); ...

  9. JS 中的自定义事件和模拟事件

    在 JS 中模拟事件指的是模拟 JS 中定义的一些事件,例如点击事件,键盘事件等. 自定义事件指的是创建一个自定义的,JS 中之前没有的事件. 接下来分别说一下创建这两种事件的方法. 创建自定义事件 ...

随机推荐

  1. Ext4.1 chart的使用

    var reportsPanel = Ext.create('Ext.panel.Panel', { id:'reportsPanel',    layout: 'fit',    tbar: [{ ...

  2. 通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?(转)

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?(转) 一.总结 一句话总结:.NET是一个平台,包含多种语言,比如(C#.Visual Basic.C++/C ...

  3. thinkphp5项目--个人博客(六)

    thinkphp5项目--个人博客(六) 项目地址 fry404006308/personalBlog: personalBloghttps://github.com/fry404006308/per ...

  4. CSS常用原子类base.css

    在写css文件时,一些常用的属性我们完全可以把它单独提出来,提高复用性,能增加开发效率,下面是一些网站推荐的常用原子类,也是零度逍遥常用的,规定了一些字体,内外边距和宽高属性,一般写在base.css ...

  5. java9新特性-14-多分辨率图像 API

    1.官方Feature 251: Multi-Resolution Images 263: HiDPI Graphics on Windows and Linux 2.产生背景 在Mac上,JDK已经 ...

  6. [HNOI2008]水平可见直线 单调栈

    题目描述:在xoy直角坐标平面上有n条直线L1,L2,...Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.例如,对于直线:L1:y=x; L2:y=- ...

  7. iOS开发—— Couldn't add the Keychain Item

    报错:*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn ...

  8. Django初学习程序大致流程

  9. python note #1

    To record my process of studying python and to practice my English meanwhile, I'd like to start writ ...

  10. vmware启动虚拟机报错VMware Workstation has paused this virtual machine because the disk on which the virtual machine is stored is almost full. To continue, free an additional 1.4 GB of disk space.

    报错VMware Workstation has paused this virtual machine because the disk on which the virtual machine i ...