|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
要在Flash中构建应用程序,可以使用Flash绘图工具创建图形,并将其它媒体元素导入Flash文档。接下来,定义如何以及何时使用各个元素来创建设想中的应用程序。
poluoluo中心提醒:制造弹性缩小镜效果.
先看效果:
http://www.poluoluo.com/files/media/1_100416155901.swf
具体代码:
[SWF(frameRate=24)]
functionYuan(r:Number,ang:Number):Sprite{
vars:Sprite=newSprite();//容器画板
varm:Matrix=newMatrix();
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();
returns;
}
//创立2个半径为80圆
varspx:Sprite=Yuan(80,0);
varspy:Sprite=Yuan(80,Math.PI/2);//线性添补色偏移90
varss:Number=2;//2的ss次幂
vari:Number=0;
//创立2个通明位图,巨细为圆1圆2同等
varspbtx:BitmapData=newBitmapData(spx.width,spx.height,true,0);
varspbty:BitmapData=newBitmapData(spy.width,spy.height,true,0);//为拷贝色彩通道的源位图数据
spbtx.draw(spx);//位摄影圆1,
spbty.draw(spy);//位摄影圆2,
//位图数据1拷贝以位为源图象的色彩通道值,源红方针蓝(1,4)
spbtx.copyChannel(spbty,spbty.rect,newPoint(),BitmapDataChannel.RED,BitmapDataChannel.BLUE);
varspbtxm:Bitmap=addChild(newBitmap(spbtx))asBitmap;//将位图数据1保留到位图显现工具中
//创立用于增加滤镜的位图数据spb
varspb:BitmapData=newBitmapData(spx.width+60,spx.height+60,true,0);
spb.applyFilter(spbtx,spbtx.rect,newPoint(30,30),newBlurFilter(30,30));//增加了含混滤镜的图形
varS:BitmapData=newBitmapData(spx.width+60,spx.height+60,false,0x808080);
S.draw(spb);
spb.dispose();//开释内存中的位图数据工具
spbtx.dispose();
spbty.dispose();
mc.addEventListener(Event.ENTER_FRAME,onMove);
varp:Point=newPoint();//方针图左上角与置换图左上角的偏移量
functiononMove(e:Event):void{
p.x+=(mouseX-spx.width/2-p.x)/5;//鼠标地位减置换图方针地位的差值,使置换的偏移量为缓动效果
p.y+=(mouseY-spx.height/2-p.y)/5;
varMaxNum:Number=50*Math.cos(i/2)*(Math.pow(2,ss));//置换强度,2的ss次幂,置换强度是静态的,因而发生弹性跳动
varfilter:DisplacementMapFilter=newDisplacementMapFilter(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
}
AdobeFlashProfessionalCS5.5软件可以提供行业领先、用于制作具有表现力的交互式内容的授权环境。 |
|