注册 | 登录 | 设为首页 | 加入收藏
您当前的位置:飞翔学院-IT中国 → 图形图像flash → 文章内容

Flash的事件机制:从AsBroadcaster到EventDispatcher

作者:佚名 来源:不详 发布时间:2007-9-24 9:33:13
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] [4]  下一页


  • 打印文档
  • 推荐好友
  • 返回顶部
  • 增大字体
  • 减少字体
关于本站 | 工作机会 | 合作网站 | 广告服务 | 市场合作| 联系我们 | 抽奖活动
版权所有: 武汉威俊科技有限公司 Copyright 2005-2007 www.ITCNW.COM All rights reserved