范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Flash怎么制作互动的橡皮刷

  以前用Flash做橡皮刷的时候通常都是通过绘制底图实现的,最近在发现其实还有一种更好的实现方法就是用bitmapdata的alpha通道。
  只要在一张图片上用draw画一个透明度为零的图片,就可以实现在draw的区域图片透明了。
  完成效果如下:
  点击选择右边的橡皮刷或者画笔图标,再用鼠标在画面上拖动,看看会出现什么情况?
  AS代码如下:
  //导入所需要的类
  import flash.display.BitmapData;
  import flash.geom.Rectangle;
  import flash.geom.Point;
  //初始点(0,0)
  var base_point:Point = new Point(0, 0);
  //初始区域(0,0,25,25)
  var base_rectangle:Rectangle = new Rectangle(0, 0, 25, 25);
  //导入库中图片
  var bit1:BitmapData = BitmapData.loadBitmap("img1");
  //定义org_bit:BitmapData用于恢复图片
  var org_bit:BitmapData = new BitmapData(mc._width, bit1.height, true, 0);
  org_bit.draw(bit1);
  //draw_bit拷贝org_bit用于涂鸦操作
  var draw_bit:BitmapData = org_bit.clone();
  //导入到舞台中
  _root.createEmptyMovieClip("draw_mc", 1);
  draw_mc.attachBitmap(draw_bit, 1);
  //定义橡皮刷erase_bit和笔刷redraw_bit argb为0(透明)
  var erase_bit:BitmapData = new BitmapData(mc1._width, mc1._height, true, 0);
  var redraw_bit:BitmapData = erase_bit.clone();
  //橡皮刷erase_bit填充为白色,这里注意a必须不为0 rbg为FFFFFF
  erase_bit.fillRect(erase_bit.rectangle, 0xFFFFFFFF);
  //定义橡皮刷erase_bit和笔刷redraw_bit形状 注意mc1必须为黑色 你也可以尝试用别的颜色看看效果慢慢体会吧
  erase_bit.draw(mc1);
  redraw_bit.draw(mc1);
  //交换erase_bit r通道和a通道数值 所以a通道数值为00
  erase_bit.copyChannel(erase_bit, erase_bit.rectangle, new Point(0, 0), 1, 8);
  //保存当前使用的工具
  var tools:String;
  //点击笔刷工具
  mc_bursh.onRelease = function()
  {
  this.gotoAndStop(2);
  mc_earse.gotoAndStop(1);
  tools = "bursh";
  };
  //点击橡皮刷工具
  mc_earse.onRelease = function()
  {
  this.gotoAndStop(2);
  mc_bursh.gotoAndStop(1);
  tools = "easre";
  };
  //在draw_bit上涂鸦
  draw_mc.onPress = function()
  {
  trace(tools);
  if (tools == "bursh")
  {
  this.onMouseMove = bursh_pic;
  }
  if (tools == "easre")
  {
  this.onMouseMove = earse_pic;
  }
  };
  //停止涂鸦
  draw_mc.onRelease = function()
  {
  delete this.onMouseMove;
  };
  //橡皮刷工具
  function earse_pic()
  {
  var now_rect:Rectangle = new Rectangle(_xmouse, _ymouse, _xmouse base_rectangle.width, _ymouse base_rectangle.height);
  trace(now_rect);
  //在draw_bit上使用copyPixels alpha为false 透明区域透明 不透明区域保持原色
  draw_bit.copyPixels(draw_bit, now_rect, new Point(_xmouse, _ymouse), erase_bit, new Point(0, 0), false);
  updateAfterEvent();
  }
  //笔刷工具
  function bursh_pic()
  {
  var now_rect:Rectangle = new Rectangle(_xmouse, _ymouse, _xmouse base_rectangle.width, _ymouse base_rectangle.height);
  trace(now_rect);
  //在org_bit上使用copyPixels alpha为true 则笔刷工具只有不透明的地方起作用
  draw_bit.copyPixels(org_bit, now_rect, new Point(_xmouse, _ymouse), redraw_bit, new Point(0, 0), true);
  updateAfterEvent();
  }
  //移动背景图观察效果
  mc.onPress = function()
  {
  this.startDrag();
  };
  mc.onRelease = function()
  {
  this.stopDrag();
  };

无线路由器的桥接和覆盖前的准备工作?一首先说明下桥接与覆盖的作用与区别覆盖(WDSAP)用无线信号把两个网络连接起来或增大无线客户端的接入范围,且可以为无线客户端提供无线接入桥接(WDS)用无线信号把两个网络连接起来ADSLModem的相关知识和维护技巧ADSLModem的中文名称叫宽带猫。这个设备可能是我们见得比较多的设备,平时我们宽带上网都需要它。它的价钱也不贵,50块钱左右一个。下面让我们一起来了解这个设备。ADSLModeCisco双出口策略实现的步骤有哪些策略路由策略路由,是一种比基于目标网络进行路由更加灵活的数据包路由转发机制。路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器。CiscTomato路由器的文件共享如何开启Tomato是用于路由器上,基于Linux平台的一个开源固件,拥有许多强大的功能。其中,文件共享是一项很方便和实用的功能,下面讲讲怎样开启Tomato路由器的文件共享基于Tomat动态路由中选择最佳路由的几种常见metric当到达一个网络有多条路径的时候,路由器会根据甚么来选择最优路径,一般来讲路由器会根据以下几种度量值来选择最佳路由。1跳数它可以简单的记录经过路由器的个数。例如,数据从路由器A发出,路由器CPU利用率过高怎么办路由器CPU利用率过高怎么办?下面一起来看看解决办法。第一步,showprocesscpu如显示IPinputprocessisusingalotofCPUresources,检查如何恢复ROS和海蜘蛛软路由密码ROS和海蜘蛛软路由如何恢复密码?不论是什么用户,删除后都是admin密码清除为空。如何破解ROS密码弄个光盘的PE或者U盘的PE,进入PE后,用工具将装Routeros的那个硬盘怎么设置tenda路由中继功能对于无线中继相信大家一定不会感到陌生,不少地方都有采用了中继的方法来扩展无线网的覆盖范围,但还不少人不清楚如何具体设置路由器中继,本篇以腾达无线路由器来给大家介绍这方面的知识。一在无线路由器怎么保养夏季无线路由器日常护理技巧对于无线路由器,大家更多的都是关注如何设置,如何使用等,鲜有人会去关注这个日夜不停息地工作着的无线路由器的保养问题,绝大多数朋友,都是一年到头开着,但随着夏季的到来,环境温度也变得冰箱烧了原因是什么冰箱烧了原因分析详解冰箱是我们生活中必不可少的家用电器之一,尤其是在炎热的夏季,由于温度高,食物很难存放,有了冰箱,就可以加长食物的保质期,并且还可以制作各种冷饮来消暑。冰箱由于使用频率高,在日常使用便携式小冰箱什么牌子好便携式小冰箱的品牌推荐详解便携式小冰箱就是可以携带的冰箱,它比传统的家用冰箱体积更小,更加节能,携带起来也是十分的方便,适合单身一族拥有小车一族等等的使用。市面上便携式小冰箱的品牌玲琅满目,究竟什么品牌的便
win10专业版和企业版有什么区别win10专业版和企业版区别详解我们安装系统的时候会发现win10有好多版本,这时候小白分不清哪个版本适合自己,那么怎么选呢?现在常见的就是两种专业版和企业版,今天小编就来分享一下win10专业版和企业版的区别!win10专业版和企业版的区别介绍Win10系统是目前使用人数最多的Windows操作系统,而且Win10系统也有着很多版本的区别,其中大部分上班族用户比较习惯使用Win10企业版与Win10专业版的。那么Win1windows10专业版和家庭版有区别么简单而言家庭版更多的搭载了娱乐功能,包括游戏平板电脑等方面的功能而专业版主要针对于企业用户,有一些管理和专业功能上面的增加。以下是详细介绍1Windows10家庭版被预装在大多数全纯净版win10系统与专业版win10系统的区别win10自2015年被推出,到现在已经趋于稳定成熟,很多win7用户也开始投入win10的怀抱。但是市面上win10有各种各样的版本,专业版纯净版正式版,它们之间有什么区别呢?下win10家庭版专业版如何设置卓越性能电源计划对电脑知识有一定了解的用户都知道,在系统设置里边都会有一个ldquo电源选项rdquo,在电源选项里我们可以设置电脑休眠状态已经自动关闭显示器。不过在win10系统中的电源选项里边Win78升级Win10时遇到问题怎么办今天就来一同梳理下,Windows78升级Windows10时,遇到问题该怎么办!下面一起来看看吧!错误代码C1900101在升级过程中遇到了ldquoWindowsUpdateCwin10和win7系统到底哪个好用呢现在还是有很多用户使用这win7系统,好多使用win7系统的小伙伴们问小编win10好用还是win7好用?因为不知道哪个系统好用而一直考虑升不升级,相信不少朋友都不清楚w10和w7win7家庭普通版升级旗舰版以及win10版本图解随着现在科技的发展以及进步,电脑的系统更新换代也非常的快,很多朋友一直旧版本和新的版本之间徘徊,想要升级新的版本但是无奈觉得太麻烦也不会升级,不要担心哦,今天小编就是来教win7家lenovoy470如何免费升级到win10lenovoy470即为联想集团生产的一款笔记本电脑y470,这款笔记本电脑于2011年3月份推出上市,同时搭载了英特尔的sandybridge平台,拥有非常出色的配置和性能,并采win7升级win10教程方法详解当今社会,电脑在我们的工作及生活中的地位举足轻重,它的出现提高了人们的办公效率,也让生活更加便捷,但依然有很多人不知道计算机该如何操作,尤其是电脑系统需要升级时完全不知该怎么办。那百度如何免费升级win10百度如何免费升级Win10正式版Win10将于7月29日正式发布并提供给用户免费下载安装。Win10发布后,用户在百度搜索Win10相关的关键词,就可以获得全面准确的Win10资讯