论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

AS3中不同类间的广播与接收简单例子(包含参数传递)

文章类别:Flash | 发表日期:2008-9-21 20:09:39

  
1.文档类:DispatchEventDemo.as
package {
import flash.display.Sprite;
public class DispatchEventDemo extends Sprite
{
  public function DispatchEventDemo()
  {
   new A
   new B
   
  }
}
}
2.中间介质类,连系不同的类:DT.as
package {
import flash.events.EventDispatcher;
public class DT {
  private static  var _dispatcher:EventDispatcher;
  public static function get dispatcher():EventDispatcher{
   _dispatcher=_dispatcher==null?new EventDispatcher:_dispatcher
   return _dispatcher
   }
}
}
3.扩展事件类,方便进行事件中的参数传递:EventX.as
package {
import flash.events.Event
public class EventX extends Event {
  public static  const RECEIVE_ARG:String="receive_arg";
  private var _arg:Object
  public function EventX(type:String,arg:Object,bubbles:Boolean=false,cancelable:Boolean=false) {
   super(type,bubbles,cancelable);
   _arg=arg;
  }
  public function get arg():Object {
   return _arg;//返回参数对象
  }
}
}
4.包含事件接收的类:A.as
package {
import flash.events.*
public class A {
  public function A() {
   var dispatcher:EventDispatcher=DT.dispatcher;
   dispatcher.addEventListener(EventX.RECEIVE_ARG,onTrace);
  }
  private function onTrace(evt:EventX):void{
   trace(evt);
   trace(evt.arg.a)
   trace(evt.arg.b)
  }
}
}
5.包含事件发送的类:B.as
package {
public class B {
  import flash.events.*
  public function B() {
   var dispatcher:EventDispatcher=DT.dispatcher;
   dispatcher.dispatchEvent(new EventX(EventX.RECEIVE_ARG,{a:"arg:a",b:"arg:b"}));
  }
}
}
//PS:上面所列出的就是一个简单的不同类间的事件广播与接收的例子(包含参数传递)

视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058