flash内部的复制粘贴教程
最新推荐文章于 2025-11-07 09:23:16 发布
最新推荐文章于 2025-11-07 09:23:16 发布
·
273 阅读
·
0
·
0
文章标签:
#Flash
#.net
#HTML
flash技术
专栏收录该内容
55 篇文章
订阅专栏
本文介绍如何使用Flash AS3实现对象的复制与粘贴功能。通过BitmapData类绘制被选中的对象,并通过创建空MovieClip进行图像的粘贴操作。文章提供了完整的代码示例。
复制粘贴MC,看效果先:代码如下:import flash.display.BitmapData; var _bmp:BitmapData = new BitmapData(_mc._width, _mc._height); var paste_mc:MovieClip = this.createEmptyMovieClip("paste_mc", 2); /////////////// var _menu = new ContextMenu(); function copy_func() { _bmp.draw(_mc); paste_menu.enabled = true; } function paste_func() { paste_mc.attachBitmap(_bmp, 0, "always", true); paste_mc._x = _xmouse; paste_mc._y = _ymouse; } _menu.hideBuiltInItems(); var copy_menu:ContextMenuItem = new ContextMenuItem("复制", copy_func); var paste_menu:ContextMenuItem = new ContextMenuItem("粘贴", paste_func); paste_menu.enabled = false; _menu.customItems.push(copy_menu, paste_menu); this.menu = _menu;源文件下载:[img]/Files/BeyondPic/2007-6/24/rar.gif[/img] [url=http://www2.flash8.net/UploadTeach/200706/20070622162123208.rar]复制粘贴MC.rar[/url]试试效果吧:代码://引入Bitmap类 import flash.display.BitmapData; var _bmp:BitmapData; ///////////////打开摄像头,为了下面的识别复制了哪个对像,所以把视频装进了MC var _cam:Camera = Camera.get(); _cam.setMode(320, 240, 10, true); _mc3._video.attachVideo(_cam); //////////////////// //新建右键 菜单 var _menu = new ContextMenu(); //设置一个变量来记录复制出来的MC的深度,让它递加,不让MC重复 var depth:Number = 1; //复制函数 function copy_func() { //用for循环来试,鼠标当前是位于哪个MC之上,就用BMP类绘制哪个对像 for (var d:Number = 3; d>=0; d--) { if (_root["_mc"+d].hitTest(_xmouse, _ymouse)) { //绘制鼠标接触的那个MC的图形,并记录在_BMP这个实例中 _bmp = new BitmapData(_root["_mc"+d]._width, _root["_mc"+d]._height); _bmp.draw(_root["_mc"+d]); //让粘贴这个右键菜单生效,才打开时它是灰色不可用的 paste_menu.enabled = true; //鼠标不可能同时接触两个MC,所以一但检测到接触就跳出循环。 break; } } } //粘贴函数 function paste_func() { //就是粘贴一次,就在当前的鼠标位置新建一个MC,然后attchBitmap就在新的MC中生成了一个新的图像 _root.createEmptyMovieClip("paste_mc"+depth, depth+100); 本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/485.html