演示
源码下载:flash_copy.rar
主要代码:
//定义公共函数。。。 class ClipBoard extends Object { static var $contents:Object; static var $operation:String; function ClipBoard() { } //定义当选择剪切时的效果。。。 public static function cut(obj) { obj._alpha = 50; $contents = obj; $operation = "cut"; } //定义复制函数。。。 public static function copy(obj) { $contents = obj; $operation = "copy"; } //定义删除函数。。。 public static function remove(obj) { $contents = obj; $operation = "remove"; $contents.removeMovieClip(); } //定义顺时针旋转。。。 public static function rotation(obj) { $contents = obj; $operation = "rotation"; $contents._rotation += 45; } //定义逆时针旋转。。。 public static function rotation2(obj) { $contents = obj; $operation = "rotation2"; $contents._rotation -= 45; } //定义移动。。。 private static var xm:Number; private static var ym:Number; public static function movethis(obj) { $contents = obj; $operation = "movethis"; _root.onMouseDown = function() { xm = _xmouse; ym = _ymouse; movethisit(); }; function movethisit() { _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; } }; } } //定义刷新。。。 public static function refish() { getURL("javascript:location.reload()"); } //定义粘贴功能。。。 public static function paste() { if ($operation == "cut") { $contents._x = _root._xmouse; $contents._y = _root._ymouse; $contents._alpha = 100; $contents = undefined; $operation = ""; } else if ($operation == "copy") { var newdepth = $contents._parent.getNextHighestDepth(); var newname = $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; } else if ($operation == "remove") { var newdepth = $contents._parent.getNextHighestDepth(); var newname = $contents._name+newdepth; $contents.removeMovieClip(""); } else { return; } } public function isEmpty():Boolean { if ($contents != undefined) { return false; } else { return true; } } public function handleMenuCommand(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; } } }
定义右键菜单:
_global.$clipboard = new ClipBoard(); function menuCallback(obj, menuObj) { var empty:Boolean = _global.$clipboard.isEmpty(); menuObj.customItems = []; // 如果对象为影片剪辑,而不是 _root if ((obj instanceof MovieClip) && (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); } } else if (obj == _level0 && !empty) { menuObj.customItems.push(pasteItem); menuObj.customItems.push(refish); } } var myMenu = new ContextMenu(menuCallback); myMenu.hideBuiltInItems(); var cutItem = new ContextMenuItem("剪切__X", _global.$clipboard.handleMenuCommand); var copyItem = new ContextMenuItem("复制__C", _global.$clipboard.handleMenuCommand); var pasteItem = new ContextMenuItem("粘贴__P", _global.$clipboard.handleMenuCommand); var remove = new ContextMenuItem("删除__D", _global.$clipboard.handleMenuCommand); var refish = new ContextMenuItem("刷新_F5", _global.$clipboard.handleMenuCommand); var rotation = new ContextMenuItem("往右旋转", _global.$clipboard.handleMenuCommand); var rotation2 = new ContextMenuItem("往左旋转", _global.$clipboard.handleMenuCommand); var movethis = new ContextMenuItem("移动此球", _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同级目录下。。。
经典论坛交流: http://bbs.blueidea.com/thread-2835562-1-1.html
本文链接:http://www.blueidea.com/download/product/2008/5459.asp
出处:蓝色理想
责任编辑:bluehearts
|