用户名: 密码: 免费注册 忘记密码? 网站地图 | 加入收藏 | 设为首页
首页 | 新闻 | 工具 | 系统 | 办公 | 聊天 | 多媒体 | 网页 | 运营 | 平面 | 欣赏 | 数据库 | 程序 | 服务器 | 组网
网页 | 3dmax | Ghost | Windows Xp| Dreamweaver | photoshop | Flash | office | Alexa | Css | QQ | Asp | PHP | Jsp | Access
Flash MX 2004入门 | 网站推广策略 | CorelDRAW入门 | ASP学习 | 网站建设大师功 | Word入门
  iTbulo.com > 学院 > 网页制作教程 > Flash教程 > Action应用 > 文章正文
关于AsBroadcaster(广播)类的讨论
iTbulo.COM 2006-2-1 daly3721()

前言:论坛里关于AsBroadcaster(广播)类的讨论很多,有很多精妙的讲述,但为了和EventDispatcher(派遣)类有个比较,不得不把这位"老兄"拉来客串一下。对它我不会讲的很详细,不解的地方可以去搜搜前辈的帖子哦。

AsBroadcaster(广播)类在MX(flash6)里写做"ASBroadcaster",这是为什么有时会发生以前的程序在2004版里发生异常的原因之一。AsBroadcaster 类具有四个静态的方法:

static function initialize(o:Object);  
//o:对象  
//initialize:初始化方法,为对象o附加上作为事件源的各项功能。那么事件源都有什么功能呢?  
static function broadcastMessage(msg:String);  
//msg:消息  
//broadcastMessage:广播方法,事件源的一个主要功能就是向外界广播一条消息,告知听广播的人"某一事件发生啦!"  
static function addListener(o:Object);  
//o:对象  
//addListener:注册监听者方法,也就是决定广播消息给谁听的意思  
static function removeListener(o:Object);  
//o:对象  
//removeListener:注销监听者方法,也就是消息不再广播给谁听

如此看来AsBroadcaster类也不怎么复杂嘛,下面看看它的具体使用吧!
-----AsBroadcaster测试.fla 开始------

var 司令部=new Object(); 
//啊,司令部是个发布指挥消息的地方,用它做事件源是个不错的选择 
AsBroadcaster.initialize(司令部); 
//这里直接用AsBroadcaster来引用AsBroadcaster类,原因如上述 
//调用AsBroadcaster类的静态方法initialize,为司令部附加上作为事件源的各项功能 
var 步兵=new Object(); 
//生成步兵对象 
步兵.on进攻=function(){ 
//on进攻: 这里之所以用’on’做前缀,是为了表明这个方法是响应一定事件的方法 
trace("步兵接到司令部来电,轻装上阵,火速向敌方阵地前进!"); 
// 接到’on进攻’消息后采取的措施 

步兵.on驻守=function(){ 
//同上 
trace("步兵接到司令部来电,就地待命,多设岗哨,严防来犯之敌!"); 

司令部.addListener(步兵); 
//将步兵添加为司令部的监听者,从现在起他将听从司令部的指令行事 
//以下雷同的地方,恕不赘述 
var 装甲兵=new Object(); 
装甲兵.on进攻=function(){ 
trace("装甲兵接到司令部来电,加足马力,火速向敌方阵地开进!"); 

装甲兵.on驻守=function(){ 
trace("装甲兵接到司令部来电,就地待命,检修装甲,作好随时进攻的准备!"); 

司令部.addListener(装甲兵); 
var 炮兵=new Object(); 
炮兵.on进攻=function(){ 
trace("炮兵接到司令部来电,向敌方阵地猛烈轰击!"); 

炮兵.on驻守=function(){ 
trace("炮兵接到司令部来电,就地待命,保证弹药准备充足!"); 

司令部.addListener(炮兵);
//-------------------下面开始演示------------------------------------
trace("司令部一号指示"); 
司令部.broadcastMessage("on进攻"); 
//司令部用’broadcastMessage’ 方法广播’on进攻’指令 
trace("司令部二号指示"); 
司令部.removeListener(步兵); 
//"将在外,君令有所不授",司令部用’removeListener’方法注销了’步兵’听从指令的义务 
司令部.broadcastMessage("on驻守"); 
//司令部用’broadcastMessage’ 方法广播’on驻守’指令。注意:步兵现在不会驻守哦 
-----AsBroadcaster测试.fla 结束-----
 

[1] [2] [3] 下一页

文章搜索
相关资讯
相关文章 相关下载
没有相关文章
焦点信息