首页  韩国资源  酷站加油  我的展厅  设计名站  古典元素  推荐下载  设计欣赏  每周专访  招募精英  人才专区  网页教程  平面设计  编程开发  设计竞赛
当前位置:首页 > 网页教程 > Flash教程 > 正文
Google
FLASH内部复制粘贴图形 内部的复制粘贴
来源:闪吧论坛 作者:终极讨厌 2007年06月25日 14:54 网友评论:0条 点击:
复制粘贴MC,看效果先:
/UploadTeach/200706/20070622161936368.swf

代码如下:
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;
 
试试效果吧:
/UploadTeach/200706/20070622163116928.swf

代码:
//引入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);
_root["paste_mc"+depth].attachBitmap(_bmp, 1, "always", true);
_root["paste_mc"+depth]._x = _xmouse;
_root["paste_mc"+depth]._y = _ymouse;
depth++;
}
//这是右键菜单的设置
_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;

源文件下载:复制画面.rar
上一篇:镜面效果   下一篇:Flash处理外部XML文档数据
收藏此页】【打印】【关闭
 相关文章  我要点评

免责声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请联络:68design#163.com
转载要求:作者及来源信息必需保留。转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印。



关于我们 | 在线反馈 | 广告报价 | 友情链接 | 联系我们 | 免责声明 | 在线投稿 | 网站地图
Copyright © 2003-2007 68design.net, All Rights Reserve 【找网页设计师,当然上网页设计师联盟】