关灯
开启左侧

[flash教程] flash制作弹性放大镜效果

[复制链接]
DeGe 发表于 2013-7-13 15:05:58 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 

详细代码:

[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 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 filterisplacementMapFilter=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

}


 

精彩评论47

正序浏览
qtitc 发表于 2017-2-24 20:06:01 | 显示全部楼层
 
支持一下吧,确实是不错的贴子。yahuyulehui.com
 
zswzo 发表于 2017-2-16 03:11:37 | 显示全部楼层
 
沙发,板凳都没偶的份了。












                               
登录/注册后可看大图

24V5A电源适配器
 
rrdrt 发表于 2015-9-14 12:15:19 | 显示全部楼层
 
的确好帖子,推荐加精华












                               
登录/注册后可看大图


                               
登录/注册后可看大图
 
kbcesuo 发表于 2014-10-4 18:38:40 | 显示全部楼层
 
可以加精,签定完毕!
 
jckie 发表于 2014-10-4 18:26:01 | 显示全部楼层
 
在这个处女都要验证码的时代不得不弄个会员来当每天看贴无数基本上不回 后来发现很傻,很多比我注册晚的级别都比我高,我终于觉悟于是我就把这段文字保存在记事本里,每看一贴就复制粘贴一次。
 
xiaoye 发表于 2014-10-4 18:25:55 | 显示全部楼层
 
真的 好久都没有这么笑了~ 好开心哦
 
jckie 发表于 2014-10-4 19:07:05 | 显示全部楼层
 
什么?????不知道......
 
xiaoye 发表于 2014-10-4 18:15:23 | 显示全部楼层
 
哈哈 ok ~~~
 
xiaoye 发表于 2014-10-6 15:00:29 | 显示全部楼层
 
搞笑..哈哈.
 
uhxidjjr 发表于 2014-10-6 14:51:55 | 显示全部楼层
 
呵呵 都没人想我~~
 
ffuip 发表于 2014-10-6 15:06:16 | 显示全部楼层
 
这话从何说起那~~~
 
kjlqiyjws 发表于 2014-10-6 14:56:28 | 显示全部楼层
 
哈哈 瞧你说的~~~
 
pangio 发表于 2014-10-6 14:23:49 | 显示全部楼层
 
这个站一周前刚刚有了点起色
 
kjlqiyjws 发表于 2014-10-24 09:31:27 | 显示全部楼层
 
哥们,给我做个链接吧
 
xiaoye 发表于 2014-10-24 10:14:45 | 显示全部楼层
 
这话从何说起那~~~
 
jckie 发表于 2014-10-24 10:12:32 | 显示全部楼层
 
感谢党和人民的关爱~~~
 
xiaoye 发表于 2014-10-24 09:51:59 | 显示全部楼层
 
求您了,给个机会
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


5关注

1粉丝

19259帖子

热门图文
热门帖子
排行榜
作者专栏

关注我们:微信订阅号

官方微信

APP下载

全国服务Q Q:

956130084

中国·湖北

Email:956130084@qq.com

Copyright   ©2015-2022  站长技术交流论坛|互联网技术交流平台Powered by©Discuz!技术支持:得知网络  

鄂公网安备 42018502006730号

  ( 鄂ICP备15006301号-5 )