手机
当前位置:查字典教程网 >网页设计 >Flash教程 >AS打造的复制粘贴等功能类
AS打造的复制粘贴等功能类
摘要:主要代码:复制代码代码如下://定义公共函数。。。classClipBoardextendsObject{staticvar$content...

主要代码:

复制代码 代码如下:

//定义公共函数。。。

classClipBoardextendsObject{

staticvar$contents:Object;

staticvar$operation:String;

functionClipBoard(){

}

//定义当选择剪切时的效果。。。

publicstaticfunctioncut(obj){

obj._alpha=50;

$contents=obj;

$operation="cut";

}

//定义复制函数。。。

publicstaticfunctioncopy(obj){

$contents=obj;

$operation="copy";

}

//定义删除函数。。。

publicstaticfunctionremove(obj){

$contents=obj;

$operation="remove";

$contents.removeMovieClip();

}

//定义顺时针旋转。。。

publicstaticfunctionrotation(obj){

$contents=obj;

$operation="rotation";

$contents._rotation+=45;

}

//定义逆时针旋转。。。

publicstaticfunctionrotation2(obj){

$contents=obj;

$operation="rotation2";

$contents._rotation-=45;

}

//定义移动。。。

privatestaticvarxm:Number;

privatestaticvarym:Number;

publicstaticfunctionmovethis(obj){

$contents=obj;

$operation="movethis";

_root.onMouseDown=function(){

xm=_xmouse;

ym=_ymouse;

movethisit();

};

functionmovethisit(){

_root.onEnterFrame=function(){

$contents._x+=(xm-$contents._x)/5;

$contents._y+=(ym-$contents._y)/5;

if(Math.abs($contents._x-xm)<0.5){

_root.onEnterFrame=undefined;

}

};

}

}

//定义刷新。。。

publicstaticfunctionrefish(){

getURL("javascript:location.reload()");

}

//定义粘贴功能。。。

publicstaticfunctionpaste(){

if($operation=="cut"){

$contents._x=_root._xmouse;

$contents._y=_root._ymouse;

$contents._alpha=100;

$contents=undefined;

$operation="";

}elseif($operation=="copy"){

varnewdepth=$contents._parent.getNextHighestDepth();

varnewname=$contents._name+newdepth;

$contents.duplicateMovieClip(newname,newdepth);

$contents._parent[newname]._x=_root._xmouse;

$contents._parent[newname]._y=_root._ymouse;

$contents._alpha=100;

$contents._parent[newname]._alpha=100;

}elseif($operation=="remove"){

varnewdepth=$contents._parent.getNextHighestDepth();

varnewname=$contents._name+newdepth;

$contents.removeMovieClip("");

}else{

return;

}

}

publicfunctionisEmpty():Boolean{

if($contents!=undefined){

returnfalse;

}else{

returntrue;

}

}

publicfunctionhandleMenuCommand(obj,item):Void{

switch(item.caption){

case"剪切__X":

cut(obj);

break;

case"复制__C":

copy(obj);

break;

case"粘贴__P":

paste();

break;

case"删除__D":

remove(obj);

break;

case"刷新_F5":

refish();

break;

case"往右旋转":

rotation(obj);

break;

case"往左旋转":

rotation2(obj);

break;

case"移动此球":

movethis(obj);

break;

}

}

}

定义右键菜单:

QUOTE:

复制代码 代码如下:

_global.$clipboard=newClipBoard();

functionmenuCallback(obj,menuObj){

varempty:Boolean=_global.$clipboard.isEmpty();

menuObj.customItems=[];

//如果对象为影片剪辑,而不是_root

if((objinstanceofMovieClip)&&(obj!=_level0)){

menuObj.customItems.push(cutItem);

menuObj.customItems.push(copyItem);

menuObj.customItems.push(remove);

menuObj.customItems.push(refish);

menuObj.customItems.push(rotation);

menuObj.customItems.push(rotation2);

menuObj.customItems.push(movethis);

if(!empty){

menuObj.customItems.push(pasteItem);

menuObj.customItems.push(refish);

}

}elseif(obj==_level0&&!empty){

menuObj.customItems.push(pasteItem);

menuObj.customItems.push(refish);

}

}

varmyMenu=newContextMenu(menuCallback);

myMenu.hideBuiltInItems();

varcutItem=newContextMenuItem("剪切__X",_global.$clipboard.handleMenuCommand);

varcopyItem=newContextMenuItem("复制__C",_global.$clipboard.handleMenuCommand);

varpasteItem=newContextMenuItem("粘贴__P",_global.$clipboard.handleMenuCommand);

varremove=newContextMenuItem("删除__D",_global.$clipboard.handleMenuCommand);

varrefish=newContextMenuItem("刷新_F5",_global.$clipboard.handleMenuCommand);

varrotation=newContextMenuItem("往右旋转",_global.$clipboard.handleMenuCommand);

varrotation2=newContextMenuItem("往左旋转",_global.$clipboard.handleMenuCommand);

varmovethis=newContextMenuItem("移动此球",_global.$clipboard.handleMenuCommand);

MovieClip.prototype.menu=myMenu;

this.menu=myMenu;

stop();

使用方法很简单,直接将制作好的MC拖入场景,然后在MC中加入如下代码:

复制代码 代码如下:

on(release){

stopDrag();

//结束行为

}

on(press){

startDrag(this);

//结束行为

mx.behaviors.DepthControl.bringToFront(this);

//结束行为

}

注意下载的“ClipBoard.as”类文件,要放在SWF同级目录下。。。

打包下载

【AS打造的复制粘贴等功能类】相关文章:

Flash实例教程:简单的图片切换特效动画

flash as简单制作飘雪动画

Flash as简单制作鼠标跟随文字动画

Flash CS3打造光圈动画效果

教大家如何利用Flash快速制作一个复制功能键

Flash打造窗之恋音乐动画教程

Flash的骨骼工具制作皮影动画技巧

Flash 打造鼠标触发的焰火飘落互动特效

FLASH如何去掉导入的图片背景

Flash AS3代码打造绚烂的星形变幻效果

精品推荐
分类导航