事件侦听器示例汇总
作者 佚名技术
来源 服务器技术
浏览
发布时间 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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 教程:教你用FMS在线录制视频下一篇: Flash动态解析Web应用程序服务器路径
关于事件侦听器示例汇总的所有评论