快速业务通道

事件侦听器示例汇总

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-08

事件的侦听器-广播器模型与事件处理函数方法不同,它允许多个代码片断互不冲突地侦听同一事件。 这么说吧,就好像订报纸,我们可以每隔5分钟去看一次报纸到没到,如果您的时间很充裕的话;也可以跟报刊店的老板打声招呼,告诉他报纸到了,就给送来。很明显,后者的效率远高于前者,在Flash里面前者就像这样 this.onEnterFrame=function(){
if(paperArrived){
sendme();
}
} 结果就是每一帧都得检验paperArrived是否为true,效率太低,但也能解决问题。 运用事件侦听器-广播器模型,就像这样 var myObj=new Object();
myObj.onPaperArrived=function(){
sendme();
}
me.addListerner(myObj); 只要报纸一到,马上执行sendme();这个程序,高效啊! 下面来看一下demo,这里我没有把stage列入,因为比较偏,平时用到的也不多。
demo 主要代码(这里以mouse为例): this.createEmptyMovieClip("tmp_mc", this.getNextHighestDepth());
var myMouseObj = new Object();
myMouseObj.onMouseDown = function() {
if (_xmouse>400 && _xmouse<550 && _ymouse>0 && _ymouse<300) {
this.target_mc = tmp_mc.createEmptyMovieClip("", tmp_mc.getNextHighestDepth()-10000);//注意:这里我减了10000,有什么区别大家可以回去试一下
origin_x = _xmouse;
origin_y = _ymouse;
this.Drawing = true;
}
};
myMouseObj.onMouseMove = function() {
if (_xmouse>400 && _xmouse<550 && _ymouse>0 && _ymouse<300) {
if (this.Drawing) {
//this.target_mc.clear();
this.target_mc.lineStyle(1, 0xff0000, 100);
this.target_mc.moveTo(origin_x, origin_y);
this.target_mc.lineTo(_xmouse, _ymouse);
}
updateAfterEvent();
}
};
msleep_btn._visible = false;
myMouseObj.onMouseUp = function() {
this.Drawing = false;
};
Mactive_btn.clickHandler = function() {
Mouse.addListener(myMouseObj);
msleep_btn._visible = true;
mactive_btn._visible = false;
};
msleep_btn.clickHandler = function() {
Mouse.removeListener(myMouseObj);
msleep_btn._visible = false;
mactive_btn._visible = true;
}; 源文件下载:addListener.zip 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号