应用思考-教育技术论坛

标题: 利用AS3轻松实现图像倒影效果 [打印本页]

作者: etthink    时间: 2013-3-25 22:52
标题: 利用AS3轻松实现图像倒影效果
三个步骤:
1,导入图片
2,将图片放到舞台,转为影片剪辑,并起个实例名,比如pp
3,将下面代码复制到帧上即可,如果影片剪辑名为别的,则替换一下最后一行函数中的名字即可
效果:
(, 下载次数: 7)
代码与注释
  1. //定义倒影函数
  2. function createRef(p_source:DisplayObject):void{
  3.    //对源显示对象做上下反转处理
  4.     var bd:BitmapData=new BitmapData(p_source.width,p_source.height,true,0);
  5.     var mtx:Matrix=new Matrix();
  6.     mtx.d=-1;mtx.ty=bd.height;
  7.     bd.draw(p_source,mtx);
  8. //生成一个渐变遮罩
  9.     var width:int=bd.width;
  10.     var height:int=bd.height;
  11.     mtx=new Matrix();
  12.     mtx.createGradientBox(width,height,0.5 * Math.PI);
  13.     var shape:Shape = new Shape();
  14.     shape.graphics.beginGradientFill(GradientType.LINEAR,[0xff,0xff],[0.9,0.0],[0,150],mtx)
  15.     shape.graphics.drawRect(0,0,width,height);
  16.     shape.graphics.endFill();
  17.     var mask_bd:BitmapData=new BitmapData(width,height,true,0);
  18.     mask_bd.draw(shape);
  19. //生成最终效果
  20.     bd.copyPixels(bd,bd.rect,new Point(0,0),mask_bd,new Point(0,0),false);
  21. //将倒影位图放在源显示对象下面
  22.     var ref:Bitmap=new Bitmap();
  23.         ref.x=p_source.x;
  24.     ref.y=p_source.height+p_source.y;
  25.     ref.bitmapData=bd;
  26.     p_source.parent.addChild(ref);
  27. }
  28. //注意里面的参数为导入图像的实例名
  29. createRef(pp);
复制代码
源文件下载:图像倒影效果.rar(103.2KB)





欢迎光临 应用思考-教育技术论坛 (http://etthink.com/) Powered by Discuz! X3.4