征集网锐志网络淘途找素材上91
创意在线首页
平面设计交互设计CG动漫工业设计建筑环境数码影像创意搜
 首页大赛征集资讯教程画廊访谈作品集创企同盟设计招聘人才专区竞赛台专题论吧 找素材看酷站设计网址库
教程网 Illustrator、Photoshop、CoreaDreaw、AI教程、PS教程
当前位置:首页 > 教程 > Flash > 正文
制作弹性放大镜效果
作者: 来源:中国教程网论坛 发表时间:2010-4-12 14:57:28 浏览:

先看效果:
http://www.68design.net/download/201004/20100406162541791.swf

详细代码:

[SWF(frameRate=24)]

function Yuan(r:Number ,ang:Number):Sprite {

        var s:Sprite=new Sprite();//容器画板

        var m:Matrix=new Matrix();

        m.createGradientBox(2*r,2*r,ang);//矩阵填充盒

        s.graphics.beginGradientFill(GradientType.LINEAR,[0xff0000,0x000000],[1,1],[0,255],m);

        s.graphics.drawCircle(r,r,r);

        s.graphics.endFill();

        return s;

}

//创建2个半径为80圆

var spx:Sprite=Yuan(80,0);

var spy:Sprite=Yuan(80,Math.PI/2);//线性填充色偏移90

var ss:Number=2;//2的ss次幂

var i:Number=0;

//创建2个透明位图,大小为圆1圆2等同

var spbtx:BitmapData=new BitmapData(spx.width,spx.height,true,0);

var spbty:BitmapData=new BitmapData(spy.width,spy.height,true,0);//为拷贝颜色通道的源位图数据



spbtx.draw(spx);//位图1拍照圆1,

spbty.draw(spy);//位图2拍照圆2,

//位图数据1拷贝以位图2为源图像的颜色通道值,源红目标蓝(1,4)

spbtx.copyChannel(spbty,spbty.rect,new Point(),BitmapDataChannel.RED, BitmapDataChannel.BLUE);

var spbtxm:Bitmap=addChild(new Bitmap(spbtx)) as Bitmap;//将位图数据1保存到位图显示对象中



//创建用于添加滤镜的位图数据spb

var spb:BitmapData=new BitmapData(spx.width+60,spx.height+60,true,0);

spb.applyFilter(spbtx,spbtx.rect,new Point(30,30),new BlurFilter(30,30));//添加了模糊滤镜的图形

var S:BitmapData=new BitmapData(spx.width+60,spx.height+60,false,0x808080);

S.draw(spb);

spb.dispose();//释放内存中的位图数据对象

spbtx.dispose();

spbty.dispose();

mc.addEventListener(Event.ENTER_FRAME,onMove);

var p:Point=new Point();//目标图左上角与置换图左上角的偏移量

function onMove(e:Event):void {

        p.x+=(mouseX-spx.width/2-p.x)/5;//鼠标位置减置换图目标位置的差值,使置换的偏移量为缓动效果

        p.y+=(mouseY-spx.height/2-p.y)/5;

        var MaxNum:Number=50 * Math.cos(i / 2)*(Math.pow (2,ss));//置换强度,2的ss次幂,置换强度是动态的,因此产生弹性跳动

        var filter:DisplacementMapFilter=new DisplacementMapFilter(S,p,1,4,MaxNum,MaxNum,DisplacementMapFilterMode.IGNORE);

        mc.filters=[filter];

        (i++>100)?i=0:0;//i大于100后让cos的角度为0,圆的边缘置换的强度渐渐减弱

        (ss+=0.5>30)?ss=0:0;//弧度值乘的系数也为0

}

在线编辑:wlx
本文链接:


推荐阅读:
·2021第十五届“创意中国”设计大奖 征稿章程
·2021第七届“学院派奖”全国艺术与设计大赛征集公告
·青春唯美插画培训网络远程班正在招生
·第八届中国高等院校设计作品大赛启动
·第十二届中国高校美术作品学年展获奖名单公布
·2021第七届“学院派奖”全国艺术与设计大赛征集公告
·第六届“包豪斯奖”国际设计大赛获奖名单揭晓
免责声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息。对本文有异议,请联络本站!
转载要求:文章作者及来源信息必需保留。转载之图片、文件请不要盗链本站地址,且不准打上各自站点的水印!

近期推荐报道 返回首页更多精彩等着你!

Photoshop| Photoshop快速调出情侣图片柔美的插画艺术| 绝望的小熊—美国插画师Luke
网页设计| 波兰Tiquet网站设计作品欣赏插画艺术| Nanami Cowdroy灵动黑白插画
Photoshop| Photoshop调出美女图片绚丽的橙红HTML/CSS| 实现DIV透明而里面的文字不透明
平面设计| 世界杯之平面广告欣赏插画艺术| Alberto Cerrite&ntil
平面设计| Havaianas人字拖最新平面广告系列网页设计| 英国madefavourite简洁细腻型
关于本站 | 联系方式 | 商业服务 | 合作伙伴 | 站点地图 | 免责声明 | 版权声明 | 在线投稿