|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Flash是一种动画创作与应用程序开发于一身的创作软件,到2013年9月2日为止。
实例3、CustomizingContextMenu 1、触及特征
这个实例反应了FlashMX2004在编程方面的严重改善。个中包含了as文件的使用,体系的_global.$clipboard变量的利用,ContextMenu(menufun)函数的挪用,ContextMenuItem()函数的挪用,已MovieClip.prototype.menu变量的利用。经由过程这几个函数和变量的操纵,就能够轻松地操纵FlashPlayer中的菜单了。
2、制造历程
1、新建一个ActionScriptFile,定名为“ClipBoard.as”,内容以下:
/*Copyright2003Macromedia,Inc.Allrightsreserved.
ThefollowingisSampleCodeandissubjecttoallrestrictions
onsuchcodeascontainedintheEndUserLicenseAgreement
accompanyingthisproduct.
*/
classClipBoardextendsObject{//正文1
staticvar$contents:Object;//正文2
staticvar$operation:String;//正文3
functionClipBoard(){}//正文4
staticpublicfunctioncut(obj){//正文5
obj._alpha=50;//正文6
$contents=obj;//正文7
$operation="cut";//正文8
}
staticpublicfunctioncopy(obj){//正文9
$contents=obj;
$operation="copy";
}
staticpublicfunctionpaste(){//正文10
if($operation=="cut"){//正文11
$contents._x=_root._xmouse;//正文12
$contents._y=_root._ymouse;
$contents._alpha=100;//正文13
$contents=undefined;//正文14
$operation="";//正文15
}elseif($operation=="copy"){//正文16
varnewdepth=$contents._parent.getNextHighestDepth();//正文17
varnewname=$contents._name+newdepth;//正文18
$contents.duplicateMovieClip(newname,newdepth);//正文19
$contents._parent[newname]._x=_root._xmouse;//正文20
$contents._parent[newname]._y=_root._ymouse;
$contents._alpha=100;
$contents._parent[newname]._alpha=100;
}else{
return;//正文21
}
}
publicfunctionisEmpty():Boolean{//正文22
if($contents!=undefined){//正文23
returnfalse;
}else{
returntrue;
}
}
publicfunctionhandleMenuCommand(obj,item):Void{//正文24
switch(item.caption){//正文25
case"Cutobject"://正文26
cut(obj);
break;
case"Copyobject"://正文27
copy(obj);
break;
case"Pasteobject"://正文28
paste();
break;
}
}
}
本实例有对照多的编程常识,刚打仗会有没有从动手的感到,上面来具体解说一下触及的器材。
正文1:class的意义是界说一个类,extends是暗示所界说的类的基类是Object。这个触及到编程的面向工具,大概对照难明,能够把Object当作是所界说的类的父类,父类具有的办法和属性,在子类中都是有的。
正文2:界说一个变量contents,范例为Object。FlashMX2004中都是如许界说变量的。在此处界说的变量,在全部类中都是能够用的。
正文3:界说一个变量operation,范例为String。
正文4:这是类的机关函数,所谓的机关函数就是当实例化这个类的时分所挪用的函数。好比本类的实例化能够是如许的:ClipBoardcb=newClipBoard();
正文5:界说一个cut函数,传进的参数是obj,它的挪用局限是public,也便是任何类都能够挪用。
正文6:设置传进的obj的alpha属性为50。
正文7:设置正文2中所界说的变量的值为obj。
正文8:设置正文3所界说的变量的值为“cut”。
正文9:界说一个copy函数,传进的参数是obj,挪用局限是public。
正文10:界说一个paste函数,没有传进的参数,挪用局限是public。
正文11:判别所界说的operation的值是不是为“cut”。
正文12:设置contents的xy坐标为鼠标的xy坐标。
正文13:设置contents的alpha为100。
正文14:使用完contents的值后,将contents的值从头设置为undefined。
正文15:将operation的值清空。
正文16
Flash8支持一种新的编码格式(On2的VP6),这种编码格式与Flash7的视频编码格式相比,有了很大的提高。 |
|