flash as3使用,播放声音和加载外部声音文件解析_第1页
flash as3使用,播放声音和加载外部声音文件解析_第2页
flash as3使用,播放声音和加载外部声音文件解析_第3页
flash as3使用,播放声音和加载外部声音文件解析_第4页
flash as3使用,播放声音和加载外部声音文件解析_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FlashAS3.0打造漂亮的水汶实例教程在这个教程中,我们将用到置换图滤镜(DisplacementMapFilter)和BitmapData类的的杂点功能(perlinNoise),这两个家伙常常给我们带一些令人兴奋的效果,它们今天的合作为我们创造了一个漂亮的的水汶,看看下面的动画,应该还不错吧。现在我开始来构建这个漂亮的水汶:即然是水汶,我想首先要找一张含水的图片吧,百度一下吧,河道,湖泊,水池,你喜欢就行。1.新建一AS3.0文档,将帧频设为30,将你刚百度到的图片导入到库中,点右键,在属性面板中将“使用JPEG导入品质”前的钩钩去掉,这样做图片的体积就会大大地减小哦。2.新建一个影片剪辑元件,将图片拖到舞台上,设置图片的大小,你想设多大呢?反正我是按默认的550x400.图片在大小与文档大小一样大哈。点击对齐面板,相对于舞台居中对齐。3.回到主场景,将MC拖到舞台上,居中放置,为它设置一个实例名称,我用的是”pic”图层上锁。4.新插入一图层,将图片(注意是图片不是MC哈),拖到舞台上,打开对齐面板,宽高匹配,居中对齐。现在第1,2层的图像是完全重合的,请确认是这样的。选择图片,点击修改>分离,将水面部分选出,删除。可以将第1层隐藏,看看删除后的效果。如下图:5.新建一层用来写代码,打开动作面板,输入下列代码:1.varbmp:BitmapData=newBitmapData(550,400);2.varzh:DisplacementMapFilter=newDisplacementMapFilter(bmp,newPoint(0,0),1,2,10,600);3.varp1:Point=newPoint();4.varp2:Point=newPoint();5.varzdxg:Array=[p1,p2];6.addEventListener(Event.ENTER_FRAME,ld);7.functionld(e:Event):void{8.zdxg[0].x+=0.2;9.zdxg[1].y+=0.1;10.bmp.perlinNoise(168,5,2,4,true,true,2,true,zdxg);11.pic.filters=[zh];12.}OK,测试影片,一个漂亮的水汶效果立即出现在你的眼前。代码分析:首先声明了一个与图片一样大的BitmapData类实例bmp,用来作为置换图滤镜的参数。varbmp:BitmapData=newBitmapData(550,400);然后声明一个置换图滤镜zh,将bmp作为参数。varzh:DisplacementMapFilter=newDisplacementMapFilter(bmp,newPoint(0,0),1,2,10,600);接下来声明了两个点,并将这两个点放到到一个叫zdxg的数组中,这个数组将用于bmp产生杂点的参数。varp1:Point=newPoint();varp2:Point=newPoint();varzdxg:Array=[p1,p2];然后,在ENTER_FRAME事件中调用ld函数。addEventListener(Event.ENTER_FRAME,ld);ld函数,动态改变两个点的位置,然后使bmp应用杂点功能,在每一帧的间隔产生不同的杂点效果,使置换滤镜效果产生变化,最后让影片剪辑pic,应用滤镜,实现水汶效果。functionld(e:Event):void{zdxg[0].x+=0.2;zdxg[1].y+=0.1;bmp.perlinNoise(168,5,2,4,true,true,2,true,zdxg);pic.filters=[zh];}利用Flash的AS3.0代码制作3D旋转动画效果效果演示:〖本教程着重于代码的编写,版本AS3.0。图形元件的制作不作讲解,请参看有关教程。〗1、新建Flash文档,创建5个图形,(或导入5张图片到库中)。2、创建一个影片剪辑,1层为图片层2层为代码层。在1层把5张图片分别放在5帧中,在代码层输入stop();如图:3、Ctrl+L打开库,右键单击影片剪辑实例做链接,类名为:IconMenu如图:4、返回场景1,图层1为背景层,图层2为代码层。在图层1导入背景图片。图层2输入代码:1.include"Math2.as"2.//图片容器3.varmenu:Sprite=newSprite();4.//使图标移动5.menu.x=300;6.menu.y=200;7.//注册事件侦听器8.menu.addEventListener(Event.ENTER_FRAME,moveMenu);9.this.addChild(menu);10.//椭圆在x和y轴上的截距11.vardisx:Number=200;12.vardisy:Number=10;13.//旋转速度14.varspeed:Number=0;15.initMenu(5);16.functioninitMenu(n:int){17.for(vari:int;i<n;i++){18.varmc:MovieClip=newIconMenu();19.//缩小图标20.mc.scaleX=mc.scaleY=.5;21.menu.addChild(mc);22.}23.}24.//事件侦听器函数25.functionmoveMenu(e:Event):void{26.//获取图标数27.variconCount:int=menu.numChildren;28.//定义数组29.vardepthArray:Array=newArray();30.//把360度平分31.varangle:Number=360/iconCount;32.for(varz:int;z<iconCount;z++){33.//根据深度获取图标34.varmc:MovieClip=menu.getChildAt(z);35.//跳转到不同帧,来显示不同的图标36.mc.gotoAndStop(z+1);37.//设置图标的位置38.mc.x=cosD(speed+angle*z)*disx;39.mc.y=sinD(speed+angle*z)*disy;40.setProp(mc,"alpha");41.setProp(mc,"scaleX",.2,.7);42.setProp(mc,"scaleY",.2,.7);43.//保存图标到数组44.depthArray[z]=mc;45.}46.//重新设置图标的深度47.arrange(depthArray);48.speed+=2;49.}50.functionarrange(depthArray:Array):void{51.//按照y坐标排序52.depthArray.sortOn("y",Array.NUMERIC);53.vari:int=depthArray.length;54.while(i--){55.menu.setChildIndex(depthArray[i],i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论