flash经典案例
7个Flash常运用案例

7个Flash常运用案例7个FLASH 实例实验一:名称:两小车相向运动目标:掌握补间动画的制作。
初步认识图层的应用。
实验步骤:1.在图层1第1帧,在舞台左下侧用矩形工具画车身,椭圆工具画俩车轮。
2.在图层1第30帧插入关键帧,将小车水平移动到舞台右下侧。
3.图层1第1帧和第30帧之间单击右键,选择“创建补间动画”。
4.锁定图层1。
单击图层1,选中其所有帧后右键复制帧。
5.创建图层2,在第1帧位置单击右键“粘贴帧”。
6.单击图层2,选中其所有帧。
在选种帧(黑色)上单击右键,选择“反转帧”。
7.分别修改图层2第1帧和30帧上小车的在位置。
实验二:名称:科技之光目的:掌握引导层的使用,了解引导层不可见,不可封闭两属性。
步骤:1.插入新元件,影片剪辑类型,随即进入元件编辑状态。
2.在第1帧上画一个只有边线没有填充的椭圆。
用对齐面板,令其相对舞台,水平/垂直居中。
锁定。
3.插入新图层,图层2上第1帧画一小圆。
第30帧位置插入关键帧。
创建补间动画。
锁定。
4.在图层2上插入引导层。
5.复制图层1第1帧,在引导层第1帧上单击右键“粘贴帧”。
6.用橡皮擦将引导层第1帧上的椭圆擦出一个小缝隙。
7.图层2解锁,将第1帧的圆吸附到引导层椭圆的一个端点上,然后选中第30帧,将圆吸附到引导层椭圆的另一个端点上。
8.单击场景1,返回主场景(目前空白)。
9.从库中将刚才制作完毕的影片剪辑元件拖到舞台中央。
10.利用变形面板(ctrl+T)调出。
旋转60度,单击右下角,复制并应用变形工具。
得出另外两个副本。
制作完毕。
注意:最后一步要用任意变形工具调整好旋转的轴心即为对象的中心。
实验三:内容:遮罩与元件的组合实例目的:进一步掌握影片剪辑元件的制作和应用,深层理解遮罩的原理和相关知识。
步骤:1、导入图片A到舞台,利用对齐面板将其居中,匹配宽高。
锁定图层1。
2、插入新图层,导入图片B到舞台,余下操作重复步骤1。
3、创建新元件为影片剪辑类型。
flash经典案例

案例1 用时间轴特效制作旋转的树叶。
【步骤1】在菜单栏中选择【文件】|【新建】命令,此时会打开【新建文档】对话框,选择一种要创建的文档类型,即可新建一个Flash文档。
【步骤2】如图13-2-2所示的为文档的【属性】面板,可以在该面板中设定文档的大小、背景色和播放的速度等。
此时,采取默认的设置。
【步骤3】在菜单栏中选择【文件】|【导入】|【导入到舞台】,选择要导入的图像文件,点击【确定】后,图像显示在工作界面中,如图13-2-3所示。
【步骤4】在菜单栏中选择【插入】|【时间轴特效】|【变形/转换】|【变形】,打开如图13-2-4所示的变形对话框,输入旋转“360”度,点击【更新预览】预览动画效果。
点击【确定】按钮。
图13-2-1 【新建文档】对话框图13-2-2 文档的【属性】面板图13-2-3 文档的【属性】面板图13-2-4 【变形】对话框【步骤5】返回工作界面,选择【控制】|【测试影片】命令,或者按Ctrl+Enter键,测试动画效果。
如图13-2-5所示,导入的图片会旋转360度。
案例2 用时间轴特效制作鲜花的旋晕效果。
【步骤1】在菜单栏中选择【文件】|【导入】|【导入到舞台】,选择要导入的图像文件【案例2.png】,点击【确定】后,图像显示在工作界面中。
【步骤2】在菜单栏中选择【插入】|【时间轴特效】|【效果】|【模糊】,打开对话框,保持默认设置,点击【更新预览】预览动画效果。
点击【确定】按钮。
案例3 用时间轴特效制作爆炸的球。
【步骤1】在菜单栏中选择【文件】|【导入】|【导入到舞台】,选择要导入的图像文件【案例3.png】,点击【确定】后,图像显示在工作界面中。
【步骤2】在菜单栏中选择【插入】|【时间轴特效】|【效果】|【分离】,打开对话框,保持默认设置,点击【更新预览】预览动画效果。
点击【确定】按钮。
案例4 创建跑步动画。
【步骤1】新建一个FLASH文档,选择“文件-导入-导入到舞台”命令,从外部文件夹导入跑步文件夹。
几个FLASH动画制作的简单例子

几个FLASH动画制作的简单例子补充几个FLASH的简单例子课题:Flash动画制作之一——绘制七巧板教学目标:熟悉Flash软件的操作界面;运用Flash软件绘制七巧板教学重点:绘制七巧板教学难点:如何选用合适的工具正确绘制七巧板教学方法:讲授法,演示法教学过程:一:打开Flash软件“开始”菜单―――“程序”―――FlashmXXXFlash可以用来制作静态图像和可互动的动画,可以任意缩放不失真,文件体积不大,适宜网络图形和动画的制作。
二:认识Flash8操作环境1.菜单栏2.工具栏3.面板属性三:绘制七巧板操作步骤:1.绘制一蓝色边框,红色填充色的矩形。
选择矩形绘图工具,调整好边框及填充颜色,按住Shift键绘制正方形。
2.使用线条工具,按住Shift键绘制正方形的两条对角线。
参照书本p84图绘制其余线条,可画辅助线。
多余线条擦除方法:选用箭头工具,点击多余线条,按键盘上Delete键进行删除。
3.填充颜色。
使用颜料桶工具,对七巧板的七歌板块进行颜色填充。
4.使用橡皮擦工具(注:选用“擦除线段”状态),擦除所有的线条。
5.用箭头工具将七巧板的每个板块小心的移开。
(注:移动过程中避免色块的重叠)四:构建运动造型使用绘制完成的七巧板,构建运动造型。
借助箭头工具来移动,定位板块;使用任意变形工具旋转板块。
使用菜单命令进行水平及垂直翻转。
五:实践绘制七巧板,并使用已绘制的七巧板,构建运动造型。
六:教学反思初次接触Flash软件,学生对如何正确使用工具栏的工具还存在一些问题。
绘制七巧板的过程中,绘制直线时,直线与直线没有正确相交,出现相邻板块同色问题,经指导修改完成。
课题:Flash动画制作之二——计算机动画制作初步教学目标:1:将原来静态的跑步姿态的图形加工为动态的跑步造型;2:熟悉FLASH制作中的几个关键性的概念:图层、时间轴、帧等;3:熟悉FLASH制作中的两种重要动画形式:形状渐变动画和运动渐变动画。
Flash实例教程100例

实例一利用缓动类实现图片滚动点击放大效果//缓动类不在flash包中在fl包中所以要先导入import fl.transitions.Tween;//导入缓动类import fl.transitions.TweenEvent;//导入缓动事件import fl.transitions.easing.Regular;//导入缓动效果中有规律的var arrTupian:Array=[];//存放图片的数组var tweenscaleX:Tween;//用来控制图片宽高的缓动类var tweenscaleY:Tween;var datu:MovieClip;for (var i:int=0; i<8; i++) {var xiaotu:MovieClip =new Pic();//这里Pic是库中一个存放图片的类文件addChild(xiaotu);xiaotu.gotoAndStop(i+1);xiaotu.width=120;xiaotu.height=100;xiaotu.x=xiaotu.width/2+i*(xiaotu.width+10);xiaotu.y=420;arrTupian.push(xiaotu);xiaotu.addEventListener(Event.ENTER_FRAME ,dongf);//为每个小球添加移动帧频函数}function dongf(e) {var mc:MovieClip=e.target;mc.x-=6;if (mc.x<0-(xiaotu.width/2+10)) {//如果该图片出了场景则放在最后一张图片的位置mc.x=xiaotu.width/2+7*(xiaotu.width+10);}mc.buttonMode=true;mc.addEventListener(MouseEvent.MOUSE_OVER ,overf);///鼠标移过时候停止移动mc.addEventListener(MouseEvent.MOUSE_OUT,outf);//}function overf(e) {for (i=0; i<arrTupian.length; i++) {//注意是点击一张图片应该让所有的图片都移除移动的侦听arrTupian[i].removeEventListener(Event.ENTER_FRAME ,dongf);arrTupian[i].removeEventListener(MouseEvent.MOUSE_OVER ,overf);//注意也要把移过函数移除,等下次再调用再添加防止下面的效果还没有达到又开始此函数}//此时大图出现datu=new Pic();datu.gotoAndStop(arrTupian.indexOf (e.target)+1);addChild(datu);datu.x=stage.stageWidth/2;datu.y=200;tweenscaleX=new Tween(datu,"scaleX",Regular.easeOut,1,3,0.5,true);//参数从1倍扩大到3倍tweenscaleY=new Tween(datu,"scaleY",Regular.easeOut,1,3,0.5,true);//参数分别是对象,属性,缓动类型,开始参数,结束参数,缓动事件,true表示为单位为妙false表示为帧}function outf(e) {e.target.removeEventListener(MouseEvent.MOUSE_OVER ,overf);e.target.removeEventListener(MouseEvent.MOUSE_OVER ,outf);tweenscaleX=new Tween(datu,"scaleX",Regular.easeOut,3,1,0.5,true);//开始和结束的参数反过来则实现了缩小的效果tweenscaleY=new Tween(datu,"scaleY",Regular.easeOut,3,1,0.5,true);//tweenScaleX=new Tween.yoyo ()或者用这个方法,表示实现原来缓动的相反过程//tweenScaleY=new Tween.yoyo ()tweenscaleX.addEventListener(TweenEvent.MOTION_FINISH,fishf);}function fishf(e) {removeChild(datu);datu=null;//注意从显示列表中清除后,//元件本身还有东西,因此还要把大图元件清空for (i=0; i<arrTupian.length; i++) {arrTupian[i].addEventListener(Event.ENTER_FRAME ,dongf);}实例二利用timer类实现图片的切换场景中有一个pic图片多帧元件,currnum和totalnum两个动态文本speed输入文本,一个msg动态文本var timer:Timer;speed.text="2"//播放的初始速度为1000毫秒btn.addEventListener(MouseEvent.CLICK ,f);function f(e) {msg.text=""timer=new Timer(1000*Number(speed.text),pic.totalFrames);//计时器运行的时间单位都是毫秒,因此输入的速度都是秒应该再乘以1000.//输入的文本都是字符串因此要转化成数字timer.start();timer.addEventListener(TimerEvent.TIMER ,timerf);timer.addEventListener (TimerEvent.TIMER_COMPLETE,comf)//添加一个播放完后的函数}function timerf(e) {pic.gotoAndStop(timer.currentCount);//图片播放的张数及为计时器运行的当前次数//例如运行一次既是第一张,两次则为第二张currnum.text=String(timer.currentCount);totalnum.text=String(timer.repeatCount);//计时器总共运行的次数}function comf(e){msg.text="图片已经播放完毕谢谢欣赏"//信息文本框的文本显示内容}var format:TextFormat=new TextFormat("Impact",15,0xff00ff,true);var txt:TextField=new TextField();addChildAt(txt,numChildren-1);txt.text="这里随便写些东西";txt.wordWrap=true;txt.setTextFormat(format);txt.width=txt.textWidth;txt.height=txt.textHeight;txt.x=10,txt.y=33;实例三点击小图看大图效果var targetArr:Array=[];var pointArr:Array=[];var picArr:Array=[];var index:int;var targetPoint=new Point(275,200);for (var i:int=0; i<20; i++) {var point:Point=new Point();var targetP:Point=new Point();//var C:Class=getDefinitionByName("cat"+i) as Class;/加载同路径文件夹中的名字为cat+i20张的图片var bmd:BitmapData=new C(0,0);//库中一个图片类文件var bmp:Bitmap=new Bitmap(bmd);var mc:MovieClip=new MovieClip();addChild(mc);mc.addChild(bmp);bmp.x=- bmp.width/2;bmp.y=- bmp.height/2;mc.scaleX=mc.scaleY=.4;i<6?(mc.x=2.5+mc.width/2+i*(mc.width+10),mc.y=mc.height/2):0;//上面六个图片的位置,坐标为图片的中心i>=6&&i<10?(mc.x=550-mc.width/2-2.5,mc.y=mc.height/2+mc.height+8+(i-6)*(mc. height+8)):0;//右边四张图片的坐标i>=10&&i<16?(mc.x=550-mc.width/2-2.5-(i-10)*(mc.width+10),mc.y=400-mc.heigh t/2):0;//下面六张图片坐标i>=16&&i<20?(mc.x=mc.width/2+2.5,mc.y=400-mc.height/2-mc.height-8-(i-16)*(m c.height+8)):0;//左边四张图片的坐标point.x=targetP.x=mc.x,point.y=targetP.y=mc.y;//记录此时每张图片的位置mc.mouseChildren=false;mc.n=i;//定义mc的私有属性记录每张图片的索引值picArr.push(mc);//targetArr.push(targetP);pointArr.push(point);}var timer:Timer=new Timer(1000);timer.start();timer.addEventListener(TimerEvent.TIMER,picMove);var k:int=0;function picMove(e) {//图片移动效果k++;for (var j:int=0; j<pointArr.length; j++) {targetArr[j].x=pointArr[(k+j)%pointArr.length].x;//当前点的坐标随着k的增加等于目标点坐标循环变换targetArr[j].y=pointArr[(k+j)%pointArr.length].y;if (picArr[j].x==275&&picArr[j].y==200) {//说明是中心位置的图片continue;} else {//说明是周围的图片picArr[j].x=pointArr[(k+j)%pointArr.length].x;//让每张图片的坐标循环变换picArr[j].y=pointArr[(k+j)%pointArr.length].y;}}}for (i=0; i<picArr.length; i++) {picArr[i].buttonMode=true;picArr[i].addEventListener(MouseEvent.CLICK,clickF);}function clickF(e) {setChildIndex(e.target,numChildren-2);//先把当前被点击的图片放在第二层objMove(e.target,targetPoint,1,1);if (picArr[index].x==275,picArr[index].y==200) {objMove(picArr[index],targetArr[index],.15,.15);}index=e.target.n;}functionobjMove(displayObject:DisplayObject,targetObj:Point,targetScalex:Number,tar getScaley:Number) {///**/参数分别是当前对象,当前点,x方向的缩放值,y方向上的缩放值timer.stop();//先让计时器停止,即点击图片动画过程中让图片移动的事件停止displayObject.addEventListener(Event.ENTER_FRAME,frame);function frame(e) {for (var i:int=0; i<picArr.length; i++) {picArr[i].mouseEnabled=false;picArr[i].buttonMode=false;picArr[i].removeEventListener(MouseEvent.CLICK,clickF);//点击每张图片后马上先移除点击事件}e.target.x+=(targetObj.x-e.target.x)/5;//缓动公式实现缓动效果e.target.y+=(targetObj.y-e.target.y)/5;e.target.scaleX+=(targetScalex-e.target.scaleX)/5;e.target.scaleY+=(targetScaley-e.target.scaleY)/5;vardis:Number=Math.sqrt((targetObj.x-e.target.x)*(targetObj.x-e.target.x)+(tar getObj.y-e.target.y)*(targetObj.y-e.target.y));if (Math.abs(dis)<1) {//目标点和当前点的距离e.target.x=targetObj.x;e.target.y=targetObj.y;displayObject.removeEventListener(Event.ENTER_FRAME,frame);//图片达到目标点后移除该帧频事件trace("ok");for (i=0; i<picArr.length; i++) {//然后给每张图片再重新添加点击事件picArr[i].addEventListener(MouseEvent.CLICK,clickF);picArr[i].buttonMode=true;picArr[i].mouseEnabled=true;}timer.start();//计时器开始运行,即周围图片继续移动}}}var sp:Sprite=new Sprite();//画相框addChild(sp);sp.x=275;sp.y=200;sp.graphics.lineStyle(15,0xb66700);sp.graphics.drawRect(-174,-124,348,248);sp.graphics.lineStyle(2,0xa95401);sp.graphics.drawRoundRect(-177,-127,354,254,10,10);sp.graphics.lineStyle(3,0xa95401);sp.graphics.drawRoundRect(-173,-123,346,246,10,10);sp.graphics.lineStyle(1.5,0xa95401);sp.graphics.moveTo(-178,-128);sp.graphics.lineTo(-168,-118);sp.graphics.moveTo(178,-128);sp.graphics.lineTo(168,-118);sp.graphics.moveTo(178,128);sp.graphics.lineTo(168,118);sp.graphics.moveTo(-178,128);sp.graphics.lineTo(-168,118);sp.filters=[new BevelFilter(3,45,0xff9900,1,0x660000,1,5,5,1,3),new DropShadowFilter(4,45,0,1,5,5,.5,3)];//=======var format:TextFormat=new TextFormat("Impact",15,0xff00ff,true);var txt:TextField=new TextField();addChildAt(txt,numChildren-1);txt.text="这里随便写些东西";txt.wordWrap=true;txt.setTextFormat(format);txt.width=txt.textWidth;txt.height=txt.textHeight;txt.x=10,txt.y=33;实例四条形遮罩const W:Number=stage.stageWidth;const H:Number=stage.stageHeight;var picSpr:Sprite=addChild(new Sprite()) as Sprite;//用来装矩形条的容器var pic1:MovieClip = picSpr.addChild(new Pic()) as MovieClip;//实例化两个图集var pic2:MovieClip = picSpr.addChild(new Pic()) as MovieClip;var maskSpr:Sprite=picSpr.addChild(new Sprite()) as Sprite;pic2.gotoAndStop(3);//因为遮罩另一个图集所以先把另一个跳转到第二帧pic2.mask=maskSpr;//矩形条容器遮罩图集二//=====画矩形条函数function Rect(w:Number,h:Number):Sprite {var rect:Sprite = maskSpr.addChild(new Sprite()) as Sprite;rect.graphics.beginFill(0);rect.graphics.drawRect(0,0,w,h);rect.graphics.endFill();return rect;}var num:uint=80;//矩形条的总条数var rw:Number=W/num;//竖条的宽度var rh:Number=H/num;//横条的宽度var n:uint=0;//用来控制矩形的条数变化var bl:Boolean=true;//用来控制矩形条的偶数情况和奇数情况var a:uint=4*Math.random();//矩形条的从四种不同方向出现var timerA:Timer=new Timer(40,80);//控制每一个矩形条出现的时间,共执行八十次var timerB:Timer=new Timer(3000,1);//用来控制每一个效果完成后间隔的时间timerA.start();timerA.addEventListener(TimerEvent.TIMER,ttA);function ttA(evt:TimerEvent):void {var rectH:Sprite=Rect(rw,H);//实例化竖条var rectW:Sprite=Rect(W,rh);//实例化横条switch (a) {case 0 :if (bl==true) {//当为真时,出现奇数条第一种效果从左上角出现rectH.x=2*n*rw;//横坐标以竖条的宽度2倍增加即每隔一个宽度增加一个rectW.y=2*n*rh;//同上2*n==num-2?[n=0,bl=false]:0;//当n增加到最大值时,变为逆向出现偶竖条}else{rectH.x=W-(2*n-1)*rw;rectW.y=H-(2*n-1)*rh;}break;case 1 :if (bl==true) {//第二种效果从右下角出现rectH.x=W-(2*n+1)*rw;//rectW.y=H-(2*n+1)*rh;2*n==num-2?[n=0,bl=false]:0;} else {rectH.x=(2*n-1)*rw;rectW.y=(2*n-1)*rh;}break;case 2 :if (bl==true) {//第三种效果从左下角出现rectH.x=2*n*rw;rectW.y=H-(2*n+1)*rh;2*n==num-2?[n=0,bl=false]:0;} else {rectH.x=W-(2*n-1)*rw;rectW.y=2*(n-1)*rh;}break;default :if (bl==true) {//第四种效果从右上角出现rectH.x=W-(2*n+1)*rw;rectW.y=2*n*rh;2*n==num-2?[n=0,bl=false]:0;} else {rectH.x=2*(n-1)*rw;rectW.y=H-(2*n-1)*rh;}}n++;if (timerA.currentCount==timerA.repeatCount) {//如果当前执行次数等于总次数说明已经完成了实例化的80条矩形条for (var i:uint=maskSpr.numChildren; i>0; i--) {//就删除所有的矩形条maskSpr.removeChildAt(0);}pic1.currentFrame==pic1.totalFrames?pic1.gotoAndStop(1):pic1.nextFrame();//图片集播放到末尾循环从头开始pic2.currentFrame==pic2.totalFrames?pic2.gotoAndStop(1):pic2.nextFrame(); timerB.start();//添加第二个时间侦听器间隔时间为3秒}}timerB.addEventListener(TimerEvent.TIMER,ttB);function ttB(evt:TimerEvent):void {a=4*Math.random();n=0;bl=true;timerA.reset();timerA.start();}var sound:Sound=new Sound(newURLRequest("/yinle/%D4%C6%C9%CF%C7%E0%C9%BD.mp3")); var soundChannel:SoundChannel=new SoundChannel();var bool:Boolean=true;btn.addEventListener(MouseEvent.CLICK,ck);function ck(evt:MouseEvent):void {if (bool==true) {timerA.start();soundChannel=sound.play();btn.gotoAndStop(2);} else {for (var i:uint=maskSpr.numChildren; i>0; i--) {maskSpr.removeChildAt(0);}n=0;bl=true;a=4*Math.random();timerA.reset();timerA.stop();timerB.stop();soundChannel.stop();btn.gotoAndStop(1);}bool=! bool;}addChildAt(btn,numChildren-1);addChildAt(bt,numChildren-1)实例五 3d旋转效果var num:Number=25;//照片的张数var quanshu:int=2;//螺旋的圈数var r:Number=300;//螺旋的半径var ang:Number =(Math.PI *2*quanshu)/num;//每张图片的角度,因为总共两圈所以总共的角度就360*2再除以总共张数var con:Sprite;//图片容器var arr:Array =new Array();//数组用来排序root.transform.perspectiveProjection.fieldOfView=60;//场景时间轴的视角设置为60root.transform.perspectiveProjection.projectionCenter=new Point(275,350); //主场景的消失点为舞台中心con=new Sprite();addChild(con);con.x=0;con.y=0;con.z=400;for (var i=0; i<num; i++) {var mc:MovieClip =new photo();con.addChild(mc);mc.x=r*Math.cos(i*ang);mc.z=r*Math.sin(i*ang);mc.rotationY=- i*ang*180/Math.PI+90;//通过旋转达到每张图片都面向y轴mc.y=i*30-100;//arr.push(mc);}addEventListener(Event.ENTER_FRAME ,f);function f(e) {con.rotationY+=2;for (var j=0; j<num; j++) {arr.push({mcc:con.getChildAt(j),Z:con.getChildAt(j).transform.getRelativeMa trix3D(root).position.z});}for (var i:int; i<num; i++) {arr.sortOn("Z",18);//z坐标排序con.addChildAt(arr[i].mcc,i);}}实例六简单的点小图出大图效果for (var i:int=0; i<3; i++) {//把九张图片按照3×3格式排列for (var j:int=0; j<3; j++) {var mc:Mc=new Mc();//添加库中图片类文件mc.gotoAndStop(i+1+j*3);mc.width=mc.oldWidth=550/3;//设置宽为场景宽550三分之一mc.height=mc.oldHeight=400/3; //设置高为场景高400三分之一mc.flag=false;//定义一个mc的布尔值初始值为假即小图片时候addChild(mc);mc.x=mc.oldx=i*mc.width;//设置每张图片的坐标mc.y=mc.oldy=j*mc.height;mc.addEventListener(MouseEvent.MOUSE_DOWN ,f);}}//给每张图片添加点击事件function f(e) {var mc=e.target;setChildIndex(mc,numChildren-1);mc.flag=!mc.flag;//布尔值取反值为真说明此时已经点击过变成大图if (mc.flag) {//如果为真mc.removeEventListener(Event.ENTER_FRAME ,loop2);//移除缩小事件mc.addEventListener(Event.ENTER_FRAME ,loop1);//添加扩大事件} else {//如果为假mc.removeEventListener(Event.ENTER_FRAME ,loop1);//移除扩大mc.addEventListener(Event.ENTER_FRAME ,loop2);}}//添加缩小function loop1(e) {//var mc=e.target;mc.x+=(0-mc.x)/5;//因为每张图片的注册点在左上角,所以目缓动目标位置(0,0)即把每张图片的左上角顶点移向场景左上角mc.y+=(0-mc.y)/5;mc.width+=(550-mc.width)/5;//并且同时宽高扩大缓动过程mc.height+=(400-mc.height)/5;}function loop2(e) {//var mc=e.target;mc.x+=(mc.oldx-mc.x)/5;//回到原始位置,mc.y+=(mc.oldy-mc.y)/5;mc.width+=(mc.oldWidth-mc.width)/5;//同时缩小到原来的大小mc.height+=(mc.oldHeight-mc.height)/5;}实例七利用缓动类实现图片切换效果import fl.transitions.Tween;//导入tween类import fl.transitions.easing.*;//导入缓动类var arr:Array=[];function loaderpic(scale:Number ,i:int ,b:Boolean=false ):MovieClip {var mc:MovieClip =new MovieClip();var loader:Loader =new Loader();var url:URLRequest=new URLRequest("C:/Documents and Settings/Administrator/桌面/新建文件夹/sinian"+i+".jpg");loader.load(url);loader.contentLoaderInfo.addEventListener(PLETE ,loadf);function loadf(e) {var temp:Loader=e.target.loader as Loader;temp.filters=[new BevelFilter(6,45,0xffffff,1,0,1,5,5,1,1,"inner",false)];//添加的斜角滤镜temp.scaleX=temp.scaleY=scale;mc.addChild(temp);b?(temp.x=-temp.width /2,temp.y=-temp.height /2):0;loader.contentLoaderInfo.removeEventListener(PLETE ,loadf);}return mc;}//加载八张大图for (var i:int=0; i<8; i++) {var bigpic:MovieClip=loaderpic(1.2,i,true);addChildAt(bigpic,0);bigpic.x=325;bigpic.y=300;="bigpic"+i;}//加载八张小图for (i=0; i<8; i++) {var smallpic:MovieClip=loaderpic(0.4,i,true);smallpic.mouseChildren=false;//大图不接受鼠标事件addChildAt(smallpic,8);//因为大图已经占用七个图层,因此小图要从第八个图层添加smallpic.buttonMode=true;smallpic.x=60*i;smallpic.y=20;smallpic.scaleX=smallpic.scaleY=1-i*0.08;smallpic.n=i;="smallpic"+i;smallpic.startX=smallpic.x;arr.push(smallpic);smallpic.addEventListener(MouseEvent.MOUSE_OVER,overf);smallpic.addEventListener(MouseEvent.MOUSE_OUT,outf);}//鼠标滑过的函数function overf(e) {var temp:MovieClip=e.target as MovieClip;if (temp.n!=0) {newTween(temp,"x",None.easeNone,temp.startX,arr[temp.n-1].x+arr[temp.n-1].widt h,1,true);//缓动的对象是temp,缓动的方向是x方向,方式是线性的匀速没有其他方式,开始的位置,终点位置,持续的时间为0.5秒,}temp.addEventListener(MouseEvent.CLICK ,clickf);}//鼠标滑出的函数function outf(e) {var temp:MovieClip=e.target as MovieClip;new Tween(temp,"x",None.easeNone,temp.x,temp.startX,1,true);//缓动的开始位置是当前的位置x坐标,终点变成原来的坐标x值了temp.removeEventListener(MouseEvent.CLICK ,clickf);}var talpha:Tween;var tscx:Tween;var tscy:Tween;var trotation:Tween;function clickf(e) {for (i=0; i<8; i++) {if (=="smallpic"+i) {var mc:MovieClip=getChildByName("bigpic"+i) as MovieClip;setChildIndex(mc,7);if (talpha!=null||tscx!=null||tscy!=null||trotation!=null) {talpha.fforward();tscx.fforward();tscy.fforward();trotation.fforward();}talpha=new Tween(mc,"alpha",Bounce.easeOut,0,1,3,true);//缓动的对象,对象的属性,alpha初始值为o,结束值为1,缓动次数为3//或者用这三种之一tscx=new Tween(mc,"scaleX",Bounce.easeOut,0,1,1,true);tscy=new Tween(mc,"scaleY",Bounce.easeOut,0,1,1,true);//这是缓动对mc缩放属性的设置//或者trotation=new Tween(mc,"rotation",Bounce.easeOut,0,720,1,true);}}}实例八加载网上的图片进行遮罩//====创建新影片并设置其坐标及对载入的图片进行遮罩相当于容器spritevar mc:MovieClip =new MovieClip();addChild(mc);mc.scaleX=3;mc.scaleY=3;mc.x=275;mc.y=200;//==========加载网上图片var url:URLRequest=newURLRequest("/azihennaini/pic/item/58a04022828da564 9358079d.jpg");var loader:Loader =new Loader();loader.load(url);addChild(loader);//========loader.mask=mc;//加载的图片遮罩元件mcloader.contentLoaderInfo.addEventListener(PLETE ,f);var k:int=0;function f(e:Event ) {stage.addEventListener(Event.ENTER_FRAME ,zhezhao); }//=============遮罩即扇形旋转遮罩效果var d:uint=0;var i:int=1;stage.frameRate=24;function zhezhao(e:Event ):void {var zhezhaomc:MovieClip =new Mc();mc.addChild(zhezhaomc);zhezhaomc.rotation=d*3;d++;if (d==120) {while (mc.numChildren >0) {mc.removeChildAt(0);}d=0;tumc.gotoAndStop(i+1);i++;if (i==10) {i=0;}} }实例九旋转相册效果var snd:Sound=new Yy();var sp:Sprite=new Sprite();addChild(sp);sp.x=300,sp.y=300;var r:int=230;var ma:Matrix=new Matrix();ma.createGradientBox(480,480,0,-240,-240);sp.graphics.lineStyle(10);sp.graphics.lineGradientStyle("radial",[0x00ffcc,0x006600],[1,1],[240,250], ma);//线条渐变填充说明,渐变范围是240-250所以线条粗细是10,因此只取240-250的颜色//sp.graphics .beginGradientFill("radial",[0x00ffcc,0x006600],[1,1],[230,25 0],ma)sp.graphics.drawCircle(0,0,r);//外边的大圆var arrYuan:Array=[];var arrPic:Array=[];var yuan0:MovieClip=new Yuan();sp.addChild(yuan0);yuan0.scaleX=yuan0.scaleY=1.8;for (var i:int=0; i<8; i++) {var yuan:Yuan=new Yuan();sp.addChild(yuan);var pic:Pic=new Pic();pic.gotoAndStop(i+1);sp.addChild(pic);yuan.x=pic.x=r*Math.cos(i*Math.PI/4);//初始状态即为两者坐标相同yuan.y=pic.y=r*Math.sin(i*Math.PI/4);arrYuan.push(yuan);arrPic.push(pic);pic.addEventListener(MouseEvent.CLICK,ckF);}var mc:MovieClip;function ckF(e) {if (e.target.scaleX==1) {//如果点击的是小图则mc代表自己mc=e.target;} else {mc=new MovieClip();//如果点击的是大图则实例化一个空元件}snd.play(300);}var n:Number=0;//控制角的度数增加addEventListener(Event.ENTER_FRAME,frame);function frame(e) {for (var i=0; i<arrYuan.length; i++) {arrYuan[i].x=r*Math.cos(i*Math.PI/4+n);//让每个圆不停地运动//这里只写了圆的位置转动而省去了写图片的位置转动,是因为下面//有个圆和图片的距离m,初始状态就是二者的坐标相同所以m=0<因此会自动执行这两句//arrPic[i].x=arrYuan[i].x;// arrPic[i].y=arrYuan[i].y;arrYuan[i].y=r*Math.sin(i*Math.PI/4+n);if (arrPic[i]==mc) {//如果这张图片是点击的小图arrPic[i].x+=(yuan0.x-arrPic[i].x)/3;//缓动公式让小图向中间移动arrPic[i].y+=(yuan0.y-arrPic[i].y)/3;arrPic[i].scaleX=arrPic[i].scaleY+=(yuan0.scaleX-arrPic[i].scaleX)/3;//缩放也实现缓动} else {//否则如果这张图片不是被点击的小图即大图arrPic[i].x+=(arrYuan[i].x-arrPic[i].x)/2;//让大图回到小圆上去arrPic[i].y+=(arrYuan[i].y-arrPic[i].y)/2;arrPic[i].scaleX=arrPic[i].scaleY+=(arrYuan[i].scaleX-arrPic[i].scaleX)/2; }varm=Math.sqrt((arrYuan[i].x-arrPic[i].x)*(arrYuan[i].x-arrPic[i].x)+(arrYuan[ i].y-arrPic[i].y)*(arrYuan[i].y-arrPic[i].y));if (m<5) {//只要两者之间的距离小于5,那么就让二者的坐标相等否则,系统会一直执行缓动并且越来越慢所以看起来感觉看到的是两个并重合arrPic[i].x=arrYuan[i].x;//arrPic[i].y=arrYuan[i].y;}}n+=0.015;//增加的是弧度值}实例10 图片撕裂的相册效果var p:MovieClip =new Pic();//不用添加场景var w:Number=p.width;var h:Number=p.height;var num:uint=p.totalFrames;////效果函数function Effect():Sprite {var S:Sprite =new Sprite();addChild(S);var Spic:Sprite =new Sprite();S.addChild(Spic);var maskS:Sprite =new Sprite();S.addChild(maskS);maskS.graphics.beginFill(0xff0000);//遮罩矩形maskS.graphics.drawRect(0,0,w/2,h);Spic.mask=maskS;for (var i:uint =0; i<num; i++) {var pic:MovieClip =new Pic()Spic.addChild (pic)pic.gotoAndStop(i+1);//注意元件帧数从1开始pic.x=i*w;//横排图片}Spic.addEventListener(Event.ENTER_FRAME ,f);function f(e) {for (var k:uint =0; k<Spic.numChildren; k++) {var mc:MovieClip=Spic.getChildAt(k) as MovieClip;mc.x--;if (mc.x<=- w) {mc.x=(Spic.numChildren -1)*w;//如果出了场景就接到最后一张后面}}}return S;}var sprL:Sprite=Effect();//制作思路是制作一个效果,然后得到两个,把另一个水平翻转即可sprL.y=50var sprR:Sprite=Effect();sprR.y=50sprR.x=w;sprR.scaleX=-1;实例11 2010河北中考数学连杆运动//====画点和对应字母函数function dianf(str:String,xx:Number ,yy:Number ):MovieClip {var mc:MovieClip =new MovieClip();addChild(mc);var m:Matrix=new Matrix ;m.createGradientBox(20,20,-10,-10);mc.graphics.beginGradientFill(GradientType.RADIAL ,[0xffffff*Math.random (),0xff0000],[1,1],[0,255],m);mc.graphics.drawCircle(0,0,5);mc.x=xx;mc.y=yy;var txt:TextField =new TextField();mc.addChild(txt);var txtF:TextFormat =new TextFormat();txtF.bold=true;txtF.color=0xffff00;txtF.align="left";txtF.size=30;txt.defaultTextFormat=txtF;txt.x=0;txt.y=10;txt.text=str;return mc;}//=====实例化点和线段,圆var mcA:MovieClip=dianf("A",100,100);var mcB:MovieClip=dianf("B",400,100);var mcK:MovieClip=dianf("K",250,300);var sp:Sprite =new Sprite();addChild(sp);sp.graphics.lineStyle(4,0x00ff00);sp.graphics.moveTo(mcA.x,mcA.y);sp.graphics.lineTo(mcB.x,mcB.y);sp.graphics.drawCircle(mcK.x,mcK.y,100);var mcM:MovieClip=dianf("M",100+300*Math.random(),100);//======给点M添加拖动事件mcM.addEventListener(MouseEvent.MOUSE_DOWN ,dragf);function dragf(e) {var Rect:Rectangle=new Rectangle(100,100,300,1);//===限制点M只能在线段AB上拖动mcM.startDrag(true,Rect);stage.addEventListener(Event.ENTER_FRAME ,f);//添加画三角形事件}stage.addEventListener(MouseEvent.MOUSE_UP ,upf);function upf(e) {mcM.stopDrag();}//====计算∠MKN的度数MKtxt.x=100,MKtxt.y=10;var sjx:Sprite =new Sprite();//=====注意实例化一个全局三角形容器是为了方便清空画线addChild(sjx);function f(e) {var MK:Number=Point.distance(new Point(mcM.x,mcM.y),newPoint(mcK.x,mcK.y))/50;MKtxt.text="MK长度"+(MK);var angM:Number=Math.atan2(mcK.y-mcM.y,mcM.x-mcK.x)*180/Math.PI;//点M的角度var angMKN:Number =Math.acos ((4+MK*MK-9)/(4*MK))*180/Math.PI;//∠MKN的角度var angN:Number=angM+angMKN;Ntxt.text="点的角度"+angN;var Nx:Number=mcK.x+100*Math.cos(- angN*Math.PI/180);var Ny:Number=mcK.y+100*Math.sin(- angN*Math.PI/180);sjx.graphics.clear();sjx.graphics.lineStyle(3,0xff0000);sjx.graphics.moveTo(Nx,Ny);sjx.graphics.lineTo(mcK.x ,mcK.y );sjx.graphics.lineTo(mcM.x ,mcM.y);sjx.graphics.lineTo(Nx,Ny);}实例12场景中一个btn按钮[SWF(frameRate=50)]//===========先造一个矩形var rect:MovieClip =new MovieClip();addChild(rect);rect.x=50;//矩形的左上角坐标rect.y=50;rect.graphics.lineStyle(3,0xff0000);rect.graphics.drawRect(0,0,6*50,2*Math.sqrt (3)*50);rect.graphics.moveTo(6*50,2*Math.sqrt (3)*50);rect.graphics.lineTo(9*50,2*Math.sqrt (3)*50);//======字母函数function zimu(xx:Number ,yy:Number,biaoqian:String ):TextField {var txt:TextField =new TextField();var txtF:TextFormat =new TextFormat();txtF.color=0xffffff;txtF.size=30;txtF.bold=true;txt.x=50+xx;//因为矩形的左上角是50,50txt.y=50+yy;txt.defaultTextFormat=txtF;//注意要把文字设置放在前txt.text=biaoqian;addChild(txt);txt.height =40return txt;}//=========实例化字母var A:TextField=zimu(0,2*Math.sqrt(3)*50,"A");zimu(6*50,2*Math.sqrt (3)*50,"B");zimu(6*50,0,"C");zimu(0,0,"D");zimu(9*50,2*Math.sqrt (3)*50,"P");var O:TextField=zimu(3*50,2*Math.sqrt(3)*50,"0");var F:TextField=zimu(9*50,2*Math.sqrt(3)*50,"F");var E:TextField=zimu(3*50,2*Math.sqrt(3)*50,"E");//=========== 点函数function point():MovieClip {var mc:MovieClip =new MovieClip();addChild(mc);mc.graphics.beginFill(0xffffff);mc.graphics.drawCircle(0,0,5);return mc;}//==========实例化点的做设置和坐标var pointF:MovieClip=point();var pointO:MovieClip=point();pointF.x=50+9*50;pointF.y=50+2*Math.sqrt(3)*50;pointO.x=O.x;pointO.y=O.y;var pointE:MovieClip=point();pointE.x=3*50+50;pointE.y=50+2*Math.sqrt(3)*50;var pointG:MovieClip=point();var len:Number=Point.distance(new Point(E.x,E.y),new Point(F.x,F.y)); pointG.x=E.x+len*Math.cos(-60*Math.PI/180);pointG.y=E.y+len*Math.sin(-60*Math.PI/180);var G:TextField=zimu(pointG.x,pointG.y,"G");//=========var n:int=0;//用来控制鼠标点击的奇偶次数而控制开始或运动btn.addEventListener(MouseEvent.MOUSE_DOWN ,df);function df(e) {n%2==0?addEv entListener( Event.ENTER_ FRAME,f):rem oveEventList ener(Event.ENTER_FRAME,f);//添加帧频事件n++;}var vE:Number=1;var mcS:MovieClip=newMovieClip();//用来装阴影的部分addChild(mcS);mcS.filters =[new GlowFilter(),new BevelFilter()];function f(e) {// 因为帧频是50,所以速度是6*50/6一共六秒即可pointF.x-=1;pointE.x<=A.x?vE*=-1:0;pointE.x-=vE;//字母跟随点的坐标F.x=pointF.x;F.y=pointF.y;E.x=pointE.x;E.y=pointE.y;//计算点G的坐标len=Point.distance(new Point(E.x,E.y),new Point(F.x,F.y));pointG.x=E.x+len*Math.cos(-60*Math.PI/180);pointG.y=E.y+len*Math.sin(-60*Math.PI/180);G.x=pointG.x;G.y=pointG.y ;//画三角形graphics.clear();graphics.lineStyle(3,0xffffff*Math.random ());//graphics.beginFill(0xff0000,0.5);graphics.moveTo(E.x,E.y);graphics.lineTo(F.x,F.y);graphics.lineTo(G.x,G.y);graphics.lineTo(E.x,E.y);mcS.graphics .clear()if (pointF.x<9*50+50&&pointF.x>=8*50+50) {mcS.graphics.beginFill(0x0000ff);mcS.graphics.moveTo(6*50+50,50+2*Math.sqrt(3)*50 );mcS.graphics.lineTo(6*50+50,50);mcS.graphics.lineTo(E.x+4*50*Math.cos(-60*Math.PI/180),E.y+4*50*Math.sin(-60*Math.PI /180));mcS.graphics.lineTo(E.x ,E.y);mcS.graphics.lineTo(6*50+50,50+2*Math.sqrt(3)*50);mcS.graphics.endFill();}if (pointF.x<8*50+50&&pointF.x>=50+6*50) {mcS.graphics.beginFill(0x00ff00);mcS.graphics.moveTo(6*50+50,50+2*Math.sqrt(3)*50 );mcS.graphics.lineTo(6*50+50,50+2*Math.sqrt(3)*50-(F.x-7*50)*Math.tan (60*Math.PI /180));mcS.graphics.lineTo(F.x+4*50*Math.cos(-120*Math.PI/180),F.y+4*50*Math.sin(-120*Math.PI /180));mcS.graphics.lineTo(E.x+4*50*Math.cos(-60*Math.PI/180),E.y+4*50*Math.sin(-60*Math.PI /180));mcS.graphics.lineTo(E.x ,E.y);mcS.graphics.lineTo(6*50+50,50+2*Math.sqrt(3)*50);mcS.graphics.endFill();}if (pointF.x<50+6*50&&pointF.x>=50+5*50) {mcS.graphics.beginFill(0xff0000);mcS.graphics.moveTo(F.x,F.y );mcS.graphics.lineTo(F.x+4*50*Math.cos(-120*Math.PI/180),F.y+4*50*Math.sin(-120*Math.PI /180));mcS.graphics.lineTo(E.x+4*50*Math.cos(-60*Math.PI/180),E.y+4*50*Math.sin(-60*Math.PI /180));mcS.graphics.lineTo(E.x ,E.y);mcS.graphics.lineTo(F.x,F.y);mcS.graphics.endFill();}if (pointF.x<50+6*50&&pointF.x>=50+5*50) {mcS.graphics.beginFill(0xff0000);mcS.graphics.moveTo(F.x,F.y );mcS.graphics.lineTo(F.x+4*50*Math.cos(-120*Math.PI/180),F.y+4*50*Math.sin(-120*Math.PI /180));mcS.graphics.lineTo(E.x+4*50*Math.cos(-60*Math.PI/180),E.y+4*50*Math.sin(-60*Math.PI /180));mcS.graphics.lineTo(E.x ,E.y);mcS.graphics.lineTo(F.x,F.y);mcS.graphics.endFill();}if (pointF.x<50+5*50&&pointF.x>=50+3*50) {mcS.graphics.beginFill(0xffaacc);mcS.graphics.moveTo(F.x,F.y );mcS.graphics.lineTo(G.x ,G.y);mcS.graphics.lineTo(E.x ,E.y);mcS.graphics.lineTo(F.x,F.y);mcS.graphics.endFill();}if (pointF.x==O.x) {//当点F 走到点O的地方F.x=pointF.x=9*50+50;vE*=-1;removeEventListener(Event.ENTER_FRAME ,f);}}实例13 绘制一次函数图像场景中一个drawline_btn按钮一个clear_btn两个输入文本k_txt和b_txt //定义函数比例系数、自变量、颜色变量;var k:Number,b:Number,n:Number=-10;var i:uint,color:uint;//定义存储直线颜色的数组colorArr;。
Flash制作实例——鹤鸣秋月

Flash制作实例——鹤鸣秋月一、制作鹤的元件1,创建一个550×400的FLASH文档,背景为黑色,其余默认,先将素材包中的素材导入到库。
分别把站立的鹤1。
张嘴的鹤1,起飞的鹤1。
梳理羽毛的鹤。
飞行一。
飞行二。
飞行三。
一一拖到场景中,选择分离,用魔术棒工具选中白色部分,点DELETE键删除,没完全删除的地方再用橡皮擦工具擦除。
并分别转换为图形元件,命名为站立的鹤,张嘴的鹤,起飞的鹤,梳理羽毛的鹤,鹤1,鹤2,鹤3。
2,制作月亮。
a.点插入-新建元件,命名为月,行为是图形。
选椭圆工具,关闭笔触颜色。
打开混色器面板,选放射状,颜色为白色,左边色块的透明度为100%。
右边的为0%。
b.在工作区按住SHIFT键画一个210×210左右大小的正圆,由于圆周围颜色的透明度是0,月亮的四周颜色没有月亮的明朗性,所以再选择填充变形工具,通过拖动调整手柄,使月亮产生立体感全居中。
,制作背景a.创建一个新建元件,命名为背景,选矩形工具,关闭笔触颜色,打开混色器面板,选线性,从左到右分别设置颜色000066.0066FF.003366.001KB7.0066FF在工作区拖出一个长方形大小覆盖工作区,用自由变形工具选中长方形,对填充的颜色进行90度旋转。
4,制作水波。
a.创建一个新元件。
命名为圆,行为图形,,点击椭圆工具,关闭填充颜色,笔触颜色为000063 笔触为实线,大小1。
在工作区拖出一个椭圆。
全居中。
B.创建一个新元件,命名为波纹,行为图形。
选矩形工具,关闭笔触颜色,填充色为任意,只要不用黑色,在工作区拖出一个长方形,c.选中长方形,按住alt键向下拖动复制出6-10条长方形,然后用鼠标将每个矩形拖成圆弧状。
4。
制作山鹤垂柳。
a.创建一个新元件,命名为山,行为图形。
选铅笔工具,属性为实线,颜色为深蓝色,笔触2-4 之间。
笔触模式为光滑,在工作区画出山的轮廓。
全居中。
b.创建一个新元件,命名为垂柳,行为图形,选铅笔工具,属性为实线,大小为2.25左右,颜色为自定,可以选深点的颜色,我选的是003063。
flash教材逐帧动画案例-火焰

逐帧动画案例--火焰1.案例效果10001.jpg~10010.jpg序列图片火焰_最终效果.fla2.制作步骤(1)按<Ctrl>+<N>新建flash文档,设置文档背景颜色为“黑色”,尺寸为“320x240”。
(2)单击时间轴第1帧空白关键帧,这就是后面图片插入的位置。
(3)按<Ctrl>+<R>或单击“文件”菜单→“导入”→“导入到舞台”,在打开的导入窗口中选择图片“10001.jpg”,注意留意其他图片都是按连续数字命名,按“打开”按钮。
图5.2.1.1(4)弹出提示窗口,由于放在一起的图片名称是连续数字,flash自动认为所放在一起的图片为一序列,如果按“否”则只导入所选择的图片,如按“是”则根据文件名数字顺序自动导入序列图片,现在直接按“是”按钮。
图5.2.1.2(5)时间轴上新增了10个关键帧,这就是所需导入的序列图片,其次序按文件名数字由小到大依次排列。
图5.2.1.3(6)注意导入的图片尺寸原本为320x240像素,但导入后明显偏大,需要把10个帧上的图片都做尺寸修改。
当然你可以单击每帧进行图片调整,但这样做效率很低,考虑10个帧上的图片处理方法相同,因此我们可以利用“编辑多个帧”功能。
单击时间轴上“编辑多个帧”按钮,此时时间轴顶部会出现一个选择范围框,拖动选择范围框左右边框,使其包含10个帧,然后在舞台按鼠标左键不放拉出选择线框选取舞台上的图片,此时时间轴10个帧反白,这表明这10个帧已被选取。
图5.2.1.4(7)按<Ctrl>+<T>打开“变形”面板,单击面板右下角“重置”按钮,此时舞台上图片尺寸都恢复为“320x240像素”,再更改图片属性X、Y坐标都为0。
图5.2.1.5(8)最后按<Ctrl>+<Enter>浏览效果,火焰效果就已经完成了。
(完整版)Flash实例教程

Flash实例教程实例制作邮票(鸟语花香)(1)新建文档(600*450);将素材导入到舞台中央。
(2)在图层1下方新建图层2,然后选择“矩形工具”绘制比图像四周略大的矩形(586*430,红色边框,填充颜色为白色);然后在“属性”面板中单击“自定义”按钮,并设置参数(粗细:18,类型:点状线,点距:9)。
(3)对绘制的矩形执行分离操作。
(4)在矩形边框处于被选中状态时,执行“修改”/“形状”/“将线条转换为填充”命令;使用“选择工具”选择场景中的白色矩形,将其剪切;选择图层2,将第1帧删除,并插入关键帧,将剪切的图像粘贴至原位。
形状补间实例实例飘扬的旗帜(1)新建文档,在图层1绘制一个细长的圆角矩形作为旗杆;并在第20帧插入帧(F5);(2)新建图层2,绘制一个笔触颜色无,填充色为红色的矩形作为旗帜;分别在第5、10、15、20帧插入关键帧,创建形状补间动画;并使用任意变形工具的封套功能,制作出旗帜飘扬时的状态。
实例旋转的三棱锥新建文档,使用线条工具绘制立体图形,填充橘色到黄色的线性渐变,并删除边框;(2)在第20帧插入关键帧,绘制立体图形;并创建形状补间动画;(3)在第21帧插入关键帧,绘制三角形;(4)选择第1帧,插入6个形状提示点;并在第20帧中将提示点移动到相应的舞台位置。
逐帧动画实例实例倒计时动画(1)新建文档,在图层1上使用椭圆工具和线条工具绘制背景图形;(2)新建图层,输入数字,并插入关键帧,更改数字。
实例电子表(1)新建文档,在图层1上绘制电子表图形;(2)新建图层,输入数字,并插入关键帧,更改数字。
遮罩层实例应用实例遮罩文字(1)新建文档,在图层1使用文字工具输入文字信息;并在第30帧插入帧;(2)新建图层2,并位于图层的下方,导入素材,并对素材的大小、位置进行调整;在第30帧插入关键帧,调整位置,创建补间动画。
(3)将图层1设置为遮罩层。
实例闪耀的五角星(1)新建文档;绘制一个笔触颜色为橘红色,填充颜色为黄色到红色渐变的五角星;(2)在第20帧、40帧插入关键帧,创建补间动画;并选中20帧,修改五角星的颜色(51,168,51);(3)新建图层,绘制直线,复制直线绕五角星旋转一周;并将这些线条转换为填充;(4)新建图层,绘制一个无填充颜色,笔触高度为10,颜色为白色完全透明到白色再到白色完全透明的圆;并将其转换为填充;复制2个圆,并将3个圆形成同心圆,进行尺寸缩小;(5)在第40帧插入关键帧,将同心圆放大;创建补间动画;实例万花筒(1)新建文档(400*400),新建一个影片剪辑元件(Ctrl+F8),导入素材到场景中央。
Flash CS3 实例 枫叶飘飘

Flash CS3 实例枫叶飘飘本例将制作枫叶飘落的动画,其原理主要是使枫叶跟随不同的引导线运动,但运动时路径是不可见的,如图10-1所示效果。
该实例综合了引导层、引导线等的创建技巧,在制作过程中特别需要【贴紧至对象】功能的使用,了解动画频率的更改,掌握通过各层中帧的间隔,可以制作枫叶不同时间开始下落与在不同时间终止的动画。
图10-1 枫叶飘飘操作步骤(1)新建如图10-2所示大小文档,并设置各项参数,然后执行【文件】|【导入】|【导入到库】命令,将素材“秋景.jpg ”导入至【库】面板,然后使用【选择工具】拖动到舞台中央。
设置帧频图10-2 将素材拖入至舞台中央(2)将“图层1”重新命名为“背景”,在该图层第500帧处插入帧,扩展其背景内容,并新建“图层1”如图10-3所示。
图10-3 扩展背景内容(3)按下快捷键Ctrl+R ,将素材“枫叶.png ”导入舞台,接着按下快捷键F8,将其转换为“元件 1”,如图10-4所示。
图10-4 将枫叶转换为元件(4)在枫叶处于被选择状态下,按下快捷键Ctrl+T ,调整枫叶大小和角度,如图10-5所示。
图10-5 调整大小和角度(5)单击【添加引导层】按钮,新建“引导层:图层 1”,然后选择【铅笔工具】绘制如图10-6所示引导线。
转换元件设置旋转数值图10-6 绘制引导线(6)使用【选择工具】,选择“图层 1”第1帧处的枫叶,调整其位置并使其吸附于引导线上,如图10-7所示。
图10-7 使枫叶吸附于引导线上(7)在“图层 1”第315帧处,按下快捷键F6,插入关键帧,然后调整枫叶大小以及角度,并使其吸附于引导线下端,如图10-8所示。
由于在测试动画时不会将引导线显示,所以用户可以使用任意颜色的线条绘制引导线。
在将枫叶与引导线对齐过程中,应启用工具箱下面的【贴紧至对象】功能,这样可以使枫叶中心点吸附于引导线上。
绘制引导线使枫叶吸附于引导线插入关键帧设置旋转角度图10-8 调整枫叶在引导线终止端位置(8)选择“图层1”第1~315帧的任意一帧,然后右击鼠标,执行【创建补间动画】命令,如图10-9所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
案例1 用时间轴特效制作旋转的树叶。
【步骤1】在菜单栏中选择【文件】|【新建】命令,此时会打开【新建文档】对话框,选择一种要创建的文档类型,即可新建一个Flash文档。
图13-2-1 【新建文档】对话框【步骤2】如图13-2-2所示的为文档的【属性】面板,可以在该面板中设定文档的大小、背景色和播放的速度等。
此时,采取默认的设置。
图13-2-2 文档的【属性】面板【步骤3】在菜单栏中选择【文件】|【导入】|【导入到舞台】,选择要导入的图像文件,点击【确定】后,图像显示在工作界面中,如图13-2-3所示。
【步骤4】在菜单栏中选择【插入】|【时间轴特效】|【变形/转换】|【变形】,打开如图13-2-4所示的变形对话框,输入旋转“360”度,点击【更新预览】预览动画效果。
点击【确定】按钮。
图13-2-4 【变形】对话框【步骤5】返回工作界面,选择【控制】|【测试影片】命令,或者按Ctrl+Enter键,测试动画效果。
如图13-2-5所示,导入的图片会旋转360度。
案例2 用时间轴特效制作鲜花的旋晕效果。
【步骤1】在菜单栏中选择【文件】|【导入】|【导入到舞台】,选择要导入的图像文件【案例】,点击【确定】后,图像显示在工作界面中。
【步骤2】在菜单栏中选择【插入】|【时间轴特效】|【效果】|【模糊】,打开对话框,保持默认设置,点击【更新预览】预览动画效果。
点击【确定】按钮。
案例3 用时间轴特效制作爆炸的球。
【步骤1】在菜单栏中选择【文件】|【导入】|【导入到舞台】,选择要导入的图像文件【案例】,点击【确定】后,图像显示在工作界面中。
【步骤2】在菜单栏中选择【插入】|【时间轴特效】|【效果】|【分离】,打开对话框,保持默认设置,点击【更新预览】预览动画效果。
点击【确定】按钮。
案例4 创建跑步动画。
【步骤1】新建一个FLASH文档,选择“文件-导入-导入到舞台”命令,从外部文件夹导入跑步文件夹。
【步骤2】因为图片名称结尾以相邻数字命名的,所以系统会自动弹出对话框,提示是否导入所有序列文件。
【步骤3】关键帧被自动生成,按Ctrl+Enter键,测试动画效果。
案例6 创建贺卡。
【步骤1】新建一个FLASH文档,从外部文件夹导入案例,选择“文件-导入-导入到舞台”命令。
【步骤2】选中第1到第12帧,按F6键在第1到第12帧都插入关键帧。
【步骤3】在第一帧中使用文本工具输入文字“祝你永远开心舒心一切顺心”。
【步骤4】在第一帧中保留一个字,第二帧中保留两个字,顺序执行。
【步骤5】按Ctrl+Enter键,测试动画效果。
案例7 把gif动画文件转变为flash逐帧动画。
【步骤1】新建一个FLASH文档,在场景中右键单击,在弹出菜单中选择“文档属性”,设置帧速为25,文档大小设置为200X300背景颜色白色。
【步骤2】从外部文件夹导入,选择“文件-导入-导入到舞台”命令。
【步骤3】GIF文件作为连续帧被导入到舞台。
案例8 创建小车行驶的动画。
【步骤1】新建一个FLASH文档,选择“文件-导入-导入到舞台”命令,从外部文件夹导入案例。
【步骤2】在第30帧插入关键帧,将小车移到舞台的另外一边。
【步骤3】将第一帧的小车缩小一些。
【步骤4】选择第1到第30帧之间的任意一帧,单击鼠标右键,在弹出的快捷菜单中选择【创建补间动画】。
【步骤5】中间帧被自动生成,按Ctrl+Enter键,测试动画效果。
案例9 实现图片由浓到淡变化的效果。
【步骤1】按照子任务1的方法新建一个大小为550像素×400像素的Flash文档,并导入需要图像案例到舞台。
【步骤2】选中图像,选择菜单中的【修改】|【转换为元件】命令,弹出如图13-2-13所示的【转换为元件】对话框,在【类型】中选择“图形”,点击确定,回到工作区。
选中第50帧,按【F6】键插入关键帧。
图13-2-13 【转换为元件】对话框【步骤3】选中图形元件,在如图13-2-14所示的【属性】面板中选择颜色为“Alpha”,参数设置为15%。
图13-2-14 图形元件的【属性】面板【步骤4】选择第1到第50帧之间的任意一帧,单击鼠标右键,在弹出的快捷菜单中选择【创建补间动画】,如图13-2-15所示,创建运动补间动画。
图13-2-15 选择【创建补间动画】命令【步骤6】选择【控制】|【测试影片】命令,或者按Ctrl+Enter键,测试动画效果。
如图13-2-16所示,导入的图像颜色会由淡到浓显示。
案例10 创建旋转文字。
Part 1 排列文字(1)启动Flash CS4,新建一个文档,然后将文档属性做如图2-1所示的设置。
图2-1(2)单击“工具箱”中的“文本工具”按钮,然后在其属性面板中做如图2-2所示的设置,并在舞台中输入如图2-3所示的文字。
图2-2 设置字体属性图2-3 输入文字(3)新建一个“图层2”,然后按住Shift键的同时使用“椭圆工具”绘制一个如图2-4所示的圆形。
图2-4 绘制圆形(4)选中文字,然后按Ctrl+B组合键打散文字,如图2-5所示。
图2-5 打散文字(5)使用“选择工具”将文字拖曳到线条上使文字围绕圆圈进行排放,如图2-6所示。
图2-6 排放文字技巧提示:在排放文字的时候可激活“工具箱”中的“贴紧至对象”按钮(激活状态为),这样在排放文字的时候就会自动贴紧圆线了。
(6)依次选中单个文字,然后按F8键将每个文字都转为影片剪辑,然后使用“任意变形工具”调整文字方向,如图2-7所示,删除圆形线,再选中所有文字,最终将其转换为影片剪辑,效果如图2-8所示。
图2-7 调整文字方向Part 2 旋转动画制作(1)进入影片剪辑编辑区,然后选中第100帧,再按F6键插入关键帧,如图2-9所示。
图2-9 创建关键帧(2)选择第1帧,然后在该帧上单击右键,并在弹出的菜单中选择“创建补间动画”命令,最后在属性面板中选择“顺时针”“1次”。
案例11 圆形转变为五角星的形状补间动画。
【步骤1】按照子任务1的方法新建一个大小为550像素×400像素的Flash文档,在工具栏上选择如图13-2-17所示的【椭圆工具】,在第1帧绘制一个实心圆,如图13-2-18所示。
图13-2-17 选择【椭圆工具】图13-2-18 绘制实心圆【步骤2】使用选【椭圆工具】类似的方法选择【多角星形工具】,点击如图13-2-19所示的【多角星形工具】的【属性】面板上的【选项】按钮,在如图13-2-20所示的【工具设置】对话框里面进行设置,样式为“星形”,变数为“5”。
图13-2-19 【多角星形工具】的【属性】面板图13-2-20 设置【多角星形工具】【步骤3】选择第20帧,按【F6】键插入一个关键帧,并在此帧中,使用【多角星形工具】绘制一个实心的五角星,如图13-2-21所示。
图13-2-21 绘制五角星【步骤4】选择第1帧,单击鼠标右键,在弹出的快捷菜单中选择【创建补间形状】,如图13-2-22所示,创建形状补间动画。
图13-2-22创建形状补间动画【步骤5】选择【控制】|【测试影片】命令,或者按Ctrl+Enter键,测试动画效果。
如图13-2-23所示,圆形会逐渐变成五角星的形状。
案例12 虫变蛹化蝶的过程。
【步骤1】打开案例11文件夹中的初始文件.fla文件。
【步骤2】将元件2拖动到舞台,点击修改、分离将元件2分离。
【步骤3】选中第10帧,按F6键,插入关键帧。
【步骤4】选中第30帧,按F6键,插入关键帧,删除元件2,拖入元件3,点击修改、分离将元件3分离。
【步骤4】选中第10帧,右键选择“创建形状补间”,完成从虫到蛹的变化。
【步骤5】选中第40帧,按F6键,插入关键帧。
【步骤6】选中第70帧,按F6键,插入关键帧,删除元件3,拖入元件4,点击修改、分离将元件4分离。
【步骤7】选中第40帧,右键选择“创建形状补间”,完成从蛹到蝶的变化。
【步骤8】选中第80帧,按F6键,插入关键帧。
案例14 全球移动通信的路径动画。
【步骤1】按照子任务1的方法新建一个大小为400像素×400像素的Flash文档,在图层1中导入一张比较大的图像做为背景,然后点击按钮插入一个新的图层2。
在图层2中插入一张比较小的图像做为移动的物体,如图13-2-24所示。
图13-2-24 导入图像到工作区【步骤2】选中图层2,点击按钮插入一个新的引导层:图层2。
在引导层:图层2中使用【铅笔工具】,并在如图13-2-25所示的菜单中选择“平滑”,此时使用【铅笔工具】绘制出来的是平滑的曲线。
使用【铅笔工具】在引导层的第1帧中绘制出一条曲线,做为图像移动的引导路径,如图13-2-26所示。
图13-2-25 选择【铅笔工具】的属性为“平滑”图13-2-26 绘制引导路径【步骤3】在引导层和图层1的第100帧插入普通帧。
【步骤4】在图层2的第1帧,选择要移动的图像,与引导线开始端点完全吻合,如图13-2-27所示。
在图层2的第100帧按【F6】键插入关键帧,将要移动的图像与引导线的结束端点完全吻合,如图13-2-28所示。
图13-2-27 物体与引导线开始端点吻合图13-2-28 物体与引导线结束端点吻合【步骤5】在图层2的第1帧上右键单击,在弹出的菜单中选择【创建补间动画】,完成补间动画的创建。
【步骤6】选择【控制】|【测试影片】命令,或者按Ctrl+Enter键,测试动画效果。
如图13-2-29所示,图层2中的物体会沿着引导层中引导线的曲线轨迹进行移动。
案例15 豹子沿路径动态奔跑的路径动画。
【步骤1】使用导入到库的命令,将素材导入到库中。
【步骤2】将树林放到图层1中,在第30帧插入关键帧,背景就做好了。
【步骤3】单击时间轴上按钮插入一个引导层,使用铅笔工具绘制从左往右的路径,路径绘制之后,在第30帧插入关键帧,路径就做好了。
【步骤4】插入新图层,注意新图层要在引导层之下,表明新的图层中的对象会根据引导层中的路径进行运动。
【步骤5】在新图层的第一帧中插入元件1,注意不要插入gif动画,不然效果是错的,将元件与引导线的开始位置大致吻合。
注意大致吻合即可,不能完全吻合。
【步骤6】在新图层的第30帧插入关键帧,将元件1的位置挪动到引导线的结束位置,大致吻合。
【步骤7】选择新图层的第一帧,右键单击“创建补间动画”。
【步骤8】关键帧被自动生成,按Ctrl+Enter键,测试动画效果。
案例17 行星沿路径动态运动的路径动画。
【步骤1】将星空.jpg放到图层1中,在第30帧插入关键帧,背景就做好了。
【步骤2】新建图层2以及其对应的引导层。
【步骤3】在引导层中绘制一个椭圆,并用橡皮擦出一个小缺口,在第30帧插入关键帧,路径就做好了。
【步骤4】在图层2的第一帧中插入地球,背景是透明的。