最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 网络设计学院 > Flash教程

Flash中事件侦听器示例汇总

日期:11-06    来源:中国设计秀    作者:cnwebshow.com

  事件的侦听器-广播器模型与事件处理函数方法不同,它允许多个代码片断互不冲突地侦听同一事件。Nw9中国设计秀

  这么说吧,就好像订报纸,我们可以每隔5分钟去看一次报纸到没到,如果您的时间很充裕的话;也可以跟报刊店的老板打声招呼,告诉他报纸到了,就给送来。很明显,后者的效率远高于前者,在flash里面前者就像这样Nw9中国设计秀

this.onEnterFrame=function(){Nw9中国设计秀
    if(paperArrived){Nw9中国设计秀
        sendme();Nw9中国设计秀
    }Nw9中国设计秀
}Nw9中国设计秀

  结果就是每一帧都得检验paperArrived是否为true,效率太低,但也能解决问题。Nw9中国设计秀

  运用事件侦听器-广播器模型,就像这样Nw9中国设计秀

var myObj=new Object();Nw9中国设计秀
myObj.onPaperArrived=function(){Nw9中国设计秀
    sendme();Nw9中国设计秀
}Nw9中国设计秀
me.addListerner(myObj);Nw9中国设计秀

  只要报纸一到,马上执行sendme();这个程序,高效啊!Nw9中国设计秀

  下面来看一下demo,这里我没有把stage列入,因为比较偏,平时用到的也不多。Nw9中国设计秀

Nw9中国设计秀
demoNw9中国设计秀

主要代码(这里以mouse为例):Nw9中国设计秀

this.createEmptyMovieClip("tmp_mc", this.getNextHighestDepth());Nw9中国设计秀
var myMouseobj = new Object();Nw9中国设计秀
myMouseobj.onMouseDown = function() {Nw9中国设计秀
    if (_xmouse>400 && _xmouse<550 && _ymouse>0 && _ymouse<300) {Nw9中国设计秀
        this.target_mc = tmp_mc.createEmptyMovieClip("", tmp_mc.getNextHighestDepth()-10000);//注意:这里我减了10000,有什么区别大家可以回去试一下Nw9中国设计秀
        origin_x = _xmouse;Nw9中国设计秀
        origin_y = _ymouse;Nw9中国设计秀
        this.Drawing = true;Nw9中国设计秀
    }Nw9中国设计秀
};Nw9中国设计秀
myMouseobj.onMouseMove = function() {Nw9中国设计秀
    if (_xmouse>400 && _xmouse<550 && _ymouse>0 && _ymouse<300) {Nw9中国设计秀
        if (this.Drawing) {Nw9中国设计秀
            //this.target_mc.clear();Nw9中国设计秀
            this.target_mc.lineStyle(1, 0xff0000, 100);Nw9中国设计秀
            this.target_mc.moveTo(origin_x, origin_y);Nw9中国设计秀
            this.target_mc.lineTo(_xmouse, _ymouse);Nw9中国设计秀
        }Nw9中国设计秀
        updateAfterEvent();Nw9中国设计秀
    }Nw9中国设计秀
};Nw9中国设计秀
msleep_btn._visible = false;Nw9中国设计秀
myMouseobj.onMouseUp = function() {Nw9中国设计秀
    this.Drawing = false;Nw9中国设计秀
};Nw9中国设计秀
mactive_btn.clickHandler = function() {Nw9中国设计秀
    Mouse.addListener(myMouseobj);Nw9中国设计秀
    msleep_btn._visible = true;Nw9中国设计秀
    mactive_btn._visible = false;Nw9中国设计秀
};Nw9中国设计秀
msleep_btn.clickHandler = function() {Nw9中国设计秀
    Mouse.removeListener(myMouseobj);Nw9中国设计秀
    msleep_btn._visible = false;Nw9中国设计秀
    mactive_btn._visible = true;Nw9中国设计秀
};Nw9中国设计秀