flash as3弹性放大镜效果
转载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
}
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Vue3 实现一个简单的路由切换效果
Vue3 实现一个简单的路由切换效果
vue router -
京东放大镜效果,购物车网站放大镜效果
京东放大镜效果,购物车网站放大镜效果
javascript html css3 京东放大镜效果 购物车网站放大镜效果 -
js 放大镜效果JS脚本 JS开发
-
javascript图片放大镜效果
javascript图片放大镜效果
图片 javascript web开发 放大镜 -
放大镜
<!DOCTYPE html> <html lang="en"> <head
html ide 宽高 -
javascript 放大镜 jq放大镜
之前有在网上见过原生js实现放大镜的效果,但是代码量略多,今天和大家分享下我自己用jq实现的放大镜效果吧!首先html布局结构和样式 贴上代码给大伙看一下: html结构:<div class="pic"> <img src="images/xiaotu.jpg" alt=""> <div class="big-pic">&
javascript 放大镜 jq 放大镜效果 jq效果 放大镜 css ide html