|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
运行时,它可以跨浏览器和操作系统、原汁原味地呈现具有表现力的应用程序、内容和视频,功能强大,兼容性高。
后面我们进修了FlashAS3教程:疑问杂症汇总,我们持续进修AS3的index.base.func.OutDisplay类例子展现:点开寓目!
http://www.webjx.com/files/media/OutDisplay.swf
index.base.func.OutDisplay类解说:
当工具再一次触发某事务的时分,判别是不是在事务局限内,假如不在则调剂Event.CANCEL事务
机关函数
publicfunctionOutDisplay(_type:String,_dis:DisplayObject,...objs)
第一个参数:侦听范例
第二个参数:感化局限,一样平常来讲都是用Stage作为局限,固然也有效在其他中央的
第三,四……个参数:能够具有_type事务的工具
实例化后,侦听_dis的_type事务,每当触发_type事务,就入手下手判别事务方针是不是存在objs中,大概objs中某项的子集显现工具,假如有则没有反响,假如没有则收回Event.CANCEL事务
add办法
publicfunctionadd(...objs):Array
增添能够具有_type事务的工具
objects属性(只读)
publicfunctiongetobjects():Array
前往能够具有_type事务的工具列表
clear办法
publicfunctionclear(isDispatch:Boolean=false):void
扫除类内里的侦听,和援用
第一个参数:假如为true,那末挪用clear以后会收回Event.CANCEL,反之没反响!默许为false
例子:
上面是展现flash的源代码,这只是一个复杂使用,假如写庞大一点,也能够写出真实的快速菜单
CODE:
importindex.base.func.OutDisplay;
varmenu:Menu=newMenu;
menu.mc1.addEventListener(MouseEvent.MOUSE_OVER,mouseOverFun);
menu.mc2.addEventListener(MouseEvent.MOUSE_OVER,mouseOverFun);
menu.mc3.addEventListener(MouseEvent.MOUSE_OVER,mouseOverFun);
menu.mc4.addEventListener(MouseEvent.MOUSE_OVER,mouseOverFun);
addChild(menu);
functionmouseOverFun(e:MouseEvent){
varm:Menu=newMenu;
m.x=e.currentTarget.x+e.currentTarget.parent.x;
m.y=e.currentTarget.y+e.currentTarget.parent.y;
addChild(m);
varout:OutDisplay=newOutDisplay(MouseEvent.MOUSE_OVER,stage,e.currentTarget);
out.addEventListener(Event.CANCEL,cancelFun);
out.add(m);
m=null;
out=null;
}
functioncancelFun(e:Event):void{
varout:OutDisplay=e.currentTargetasOutDisplay;
vartmpAr:Array=out.objects;
removeChild(tmpAr[1]);
out.removeEventListener(Event.CANCEL,cancelFun);
tmpAr=null;
out=null;
}类的源代码:
CODE:
packageindex.base.func{
importflash.display.DisplayObject;
importflash.display.DisplayObjectContainer;
importflash.events.Event;
importflash.events.EventDispatcher;
publicclassOutDisplayextendsEventDispatcher{
//保留一切工具
privatevarobjAr:Array;
//保留侦听范例
privatevartype:String;
//保留侦听局限
privatevardis:DisplayObject;
//机关函数
publicfunctionOutDisplay(_type:String,_dis:DisplayObject,...objs){
type=_type;
objAr=objs;
dis=_dis;
dis.addEventListener(_type,fun);
}
//事务处置
privatefunctionfun(e:Event):void{
for(vari:uint=0;i<objAr.length;i++){
if(e.target==objAr)return;
if(objArisDisplayObjectContainer){
if(objAr.contains(e.target))return;
}
}
dis.removeEventListener(type,fun);
dispatchEvent(newEvent(Event.CANCEL));
}
//增加工具
publicfunctionadd(...objs):Array{
for(vari:int=0;i<objs.length;i++){
objAr.push(objs);
}
returnobjects;
}
//猎取工具列表
publicfunctiongetobjects():Array{
returnobjAr;
}
//卸载
publicfunctionclear(isDispatch:Boolean=false):void{
if(isDispatch)dispatchEvent(newEvent(Event.CANCEL));
dis.removeEventListener(type,fun);
objAr=null;
}
}
}
FlashScreensaversMaker能够迅速的将您的Flash作品转化为屏保程序。 |
|