zoukankan      html  css  js  c++  java
  • 【转】Flash AS3.0 中的自定义事件

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

      1 package {
      2 
      3     import flash.events.Event;
      4 
      5     //导入事件类
      6 
      7     public class CustomEvent extends Event {
      8 
      9         //声明自定义事件扩展自事件类成为其子类
     10 
     11         public static  const SENDFLOWER:String="sendFlower";
     12 
     13         //声明静态常量作为事件类型1
     14 
     15         public static  const SENDCAR:String="sendCar";
     16 
     17         //声明静态常量作为事件类型2
     18 
     19         public var info:String;
     20 
     21         //声明变量储存事件信息,这也是我们用自定义事件的主要原因,可以用他来
     22 
     23         //携带额外的信息
     24 
     25         public function CustomEvent(type:String,inf) {
     26 
     27             super(type);
     28 
     29             //调用父类构造函数并设置传入的参数作为事件类型
     30 
     31             info=inf;
     32 
     33             //将传入的参数2存入info
     34 
     35         }
     36 
     37     }
     38 
     39 }
     40 
     41 //2、男孩类:
     42 package {
     43 
     44     import flash.events.EventDispatcher;
     45 
     46     //导入事件发送者类
     47 
     48     import flash.events.Event;
     49 
     50     //导入事件类
     51 
     52     public class Boy extends EventDispatcher {
     53 
     54         //声明男孩类扩展自事件发送者类,成为其子类
     55 
     56         public function sendFlower() {
     57 
     58             //声明公开送花方法;
     59 
     60             var info:String="玫瑰花";
     61 
     62             //声明局部变量设置发送信息
     63 
     64             var events=new CustomEvent(CustomEvent.SENDFLOWER,info);
     65 
     66             //声明一个新的自定义事件类的实例,并设置类型为第一种、
     67 
     68             //将发送信息存入事件
     69 
     70             this.dispatchEvent(events);
     71 
     72             //发送该事件
     73 
     74         }
     75 
     76         public function sendCar() {
     77 
     78             //声明公开送车方法;
     79 
     80             var info:String="百万跑车";
     81 
     82             //声明局部变量设置发送信息
     83 
     84             var events=new CustomEvent(CustomEvent.SENDCAR,info);
     85 
     86             //声明一个新的自定义事件类的实例,并设置类型为第二种、
     87 
     88             //将发送信息存入事件
     89 
     90             this.dispatchEvent(events);
     91 
     92             //发送该事件
     93 
     94         }
     95 
     96     }
     97 
     98 }
     99 
    100 //3、女孩类:
    101 package {
    102     public class Girl {
    103         public function replay(info):void {
    104             trace(info);
    105         }
    106         //声明公开方法,做出反应
    107     }
    108 }
    109 //4、文档类:
    110 package {
    111 
    112     import flash.display.Sprite;
    113 
    114     //导入Sprite类
    115 
    116     public class Documents extends Sprite {
    117 
    118         //声明文档类扩展自sprite类
    119 
    120         private var _boy:Boy;
    121 
    122         //声明私有属性为男孩类型
    123 
    124         private var _girl:Girl;
    125 
    126         //声明私有属性为女孩类型
    127 
    128         public function Documents() {
    129 
    130             //构造函数
    131 
    132             _boy=new Boy;
    133 
    134             //创建男孩实例
    135 
    136             _girl=new Girl;
    137 
    138             //创建女孩实例
    139 
    140             _boy.addEventListener(CustomEvent.SENDFLOWER,_hand);
    141 
    142             //为男孩增加类型为CustomEvent.SENDFLOWER的事件监听
    143 
    144             _boy.addEventListener(CustomEvent.SENDCAR,_hand);
    145 
    146             //为男孩增加类型为CustomEvent.SENDCAR的事件监听
    147 
    148             _boy.sendCar();
    149 
    150             //调用男孩的送车的方法。你可以再试着调用男孩的sendFlower
    151 
    152             //方法试试,看结果有什么不同
    153 
    154         }
    155 
    156         private function _hand(E:CustomEvent):void {
    157 
    158             //声明事件处理器
    159 
    160             _girl.replay("我收到一位帅哥送我的:"+E.info);
    161 
    162             //调用女孩的replay方法。
    163 
    164         }
    165 
    166     }
    167 
    168 }
  • 相关阅读:
    http协议相关知识
    linux 常用命令总结
    PHP traits
    php 正则案例
    php 中关于正则 元字符
    【U3D】 第三人称控制器ThirdPersonCharacter添加之后角色原地打转不移动的问题(unity5.3.5f)
    .Net Core异步async/await探索
    IdentityServer4实现单点登录统一认证
    CSAPP-Tiny Web服务器【2】源码解析
    CSAPP-Tiny Web服务器【1】编译搭建
  • 原文地址:https://www.cnblogs.com/fangyu19900812/p/3822795.html
Copyright © 2011-2022 走看看