Flash实战技巧教程
如何学好flash动画制作的技巧

Flash8工作环境
一、工作环境简介 1.开始页
运行Flash 8,首先映入眼帘的是“开始页”,“开始页”将常 用的任务都集中放在一个页面中,包括“打开最近项目”、“创 建新项目”、“从模板创建”、“扩展”以及对官方资源的快速访 问。
Flash8工作环境
2.工作窗口
Flash 8的工作窗口由标题栏、菜单栏、主工具栏、文档选项卡、编辑栏、时间 轴、工作区和舞台、工具箱以及各种面板组成。
滤镜效果: 滤镜效果可以应用于影片剪辑、按钮及文本对象中。
Flash8绘图工具
字体类型: 嵌入字体:影片发布后字体的相关信息将嵌
入在发布的影片中,以确保字体在Flash播放器 中能够正确地显示。不过并非所有在编辑状态下 能够显示的字体在发布后都能显示。
系统字体:是一种特殊的字体,相关的字体 信息并不保存在发布后的影片中,在播放影片时, 播放器使用本地系统中最相似的字体代替系统字 体。
Flash8绘图处理工具
九、选择工具
可以进行对象的移动、变形、拉直等操作
点选:双击全选一个对象, 单击选择连续区域。
圈选:拖动鼠标,则鼠标所到之处被选择。 多选:按shift键不放,然后选择。 复制对象:按Alt键时,拖动对象。 水平、垂直移动:按Shift键时,拖动对象。 水平、垂直复制:按Shift和Alt,拖动对象。 改变形状:鼠标移到对象边缘,拖动鼠标。
swf文件可以直接使用Flash播放器观看,也可插 入网页中。观看swf文件的机器必须事先安装Flash Player。
exe 文件就是同时包含了Flash播放器和swf内容 的程序,它不需要播放器,直接运行就可以观看。
一、文本工具
Flash8绘图工具
Flash详细教程完整版ppt课件

户点击按钮时执行特定操作。
动态按钮设计
了解如何根据用户交互或其他条 件动态更改按钮的外观和行为。
交互式动画实例分析
基础动画实例
分析简单的交互式动画实例,如鼠标悬停效果、拖拽效果等。
高级动画实例
探讨更复杂的交互式动画实例,如游戏、数据可视化等。
添加视频效果
如滤镜、转场、画中画等。
同步音频和视频
可实现音频和视频的精确同步,确保播放效果流 畅自然。
多媒体元素同步处理技术
时间轴同步
01
通过时间轴控制音频和视频的播放进度,实现精确同步。
脚本控制同步
02
使用ActionScript脚本语言编写代码,实现更复杂的同步控制逻
辑。
外部媒体同步
03
支持与外部媒体文件(如字幕文件)的同步,提供更丰富的多
将模板中的元素替换为自己的内容,如替换 图片、文本等。
调整布局
根据需要调整元素的位置和大小,使整体布 局更加合理。
修改样式
通过修改元素的样式属性,如颜色、字体、 透明度等,实现个性化定制。
自定义组件开发流程
创建组件
使用Flash的绘图工具创建组 件的图形界面。
封装组件
将创建好的组件封装成一个独 立的库文件,方便在其他项目 中重复使用。
添加过渡效果
在两个关键帧之间添加过渡效果,使动画更 加流畅自然。
补间动画制作方法
创建起始和结束关键帧
在时间轴上创建起始和结束关键帧, 并分别设置它们的属性。
选择补间类型
根据动画需求选择合适的补间类型, 如形状补间或动画补间。
创建补间动画
在起始和结束关键帧之间创建补间动 画,Flash会自动计算并生成中间帧 。
Flash动画实训教程

第六章 Flash中场景、道具、特效建 库
• 6.2 Flash场景制作的分类 在Flash加工片中,场景的制作大致分为2 种制作方式,即在Flash内部通过原始的草 图直接绘制,另一种则是使用其他软件绘 制,以位图或者是SWF格式的方式导入到 Flash中使用。
第六章 Flash中场景、道具、特效建 库
第二章 Flash动画入门
库中只有一个元件,场景中却有很多这个元件的实例
第二章 Flash动画入门
• 课后思考 1.熟悉Flash整体界面,掌握快捷键。 2.可以试着在Flash上多打几个关键帧,然 后再不同的关键帧上绘制不同的图案,然 后使用洋葱皮工具,看看舞台上会出现什 么效果。
第三章 从最基础的动画开始
第七章 动画中后期制作
• 7.3 动作设计 动作设计是Flash动画人员的主要任务。他 要根据动画分镜脚本和导演的意图,以及 动画的原理、动画的规律来完成动画镜头 中各类角色的动作设计。
第七章 动画中后期制作
飞虫的关键帧动作
第七章 动画中后期制作
• 7.4 动作制作 动作制作首先要按照脚本制作出关键动作, 然后再通过软件本身把各个关键动作串联 到一起。当然这并没有说的那么简单,真 正要做的时候还会考虑到之前讲到的很多 动画规律上的知识,例如曲线运动等。
• 6.3 Flash中的道具 一部片子中少不了道具,每一种道具在每 部片子中都起着相应的作用,没有一个道 具是不起作用的,如果没有作用,那么也 就没有存在它的意义。
第六章 Flash中场景、道具、特效建 库
• 6.4 Flash中的特效 动画片中会经常出现各种自然现象,如、 雨、雪、水、火等等。作为动画师,应该 掌握自然现象的运动规律及制作方法。
• 第12-13周 第七章的内容,带领学生了解动画模板,元件 合成嵌套这个功能需要着重讲解。对于后期的文件导出部分可以 适当说明即可。 • 第14-15周 学生复习及答疑 • 第16周 考试
flash cs4 professional实用案例教程373

3.7.3 快速上手f步骤1 新建一Flash文件。
f步骤2 导入位图。
选择【文件】→【导入】→【导入到库】,将本章素材文件夹中名为“小鸟”的位图导入到库中。
f步骤3 打开【库】面板,如图3-92所示。
将库中的“小鸟”位图拖入舞台,缩放至合适的大小。
f步骤4 为便于绘制,在【图层】面板新建图层,重命名为“轮廓”。
将“图层1”的位图锁定,如图3-93所示。
f步骤5 选择【编辑】→【首选参数】,打开【首选参数】对话框,在类别中选择“绘图”,在【钢笔工具】设置中勾选“显示钢笔预览”。
f步骤6 在【工具】面板中选择【钢笔工具】,打开【属性】面板,设置“笔触大小”为1,“笔触样式”为实线,颜色为黑色,如图3-94所示。
图3-92 图3-93 图3-94打开【库】面板【图层】面板【属性】面板f步骤7 绘制“小鸟”轮廓。
设置完【钢笔工具】的属性后,便可以沿着小鸟的外层轮廓绘制“小鸟”了。
绘制时直线部分可通过单击外层轮廓线的边缘来绘制,曲线部分可通过按下鼠标左键拖动来形成曲线。
注意不要绘制太多的线条,否则调整时会很麻烦。
绘制完成的效果如图3-95所示。
f步骤8 用【选择工具】对外层轮廓线进行调整,使其能够更加平滑,调整后的轮廓线如图3-96所示。
f步骤9 选择【线条工具】,设置笔触颜色为黑色,笔触大小为1,按“小鸟”身上羽毛的不同颜色勾画出不同的选区,注意选区要闭合,完成的效果如图3-97所示。
f步骤10 绘制细节。
用【线条工具】绘制小鸟的细节,勾画出尖嘴的高光与暗调区域以及身体与腿之间的分隔区域,如图3-98所示。
图3-95 小鸟的外层轮廓图3-96 调整后的轮廓线图3-97 勾画出的选区图图3-98 勾画出尖嘴f步骤11 填充颜色。
选择【颜料桶工具】,选取适当颜色。
也可以用【滴管工具】选择素材对应的颜色,进行填充。
填充后的效果如图3-99~图3-102所示。
图3-99 填充胸部图3-100填充腿部图3-101填充嘴部图3-102填充背部提示:如果不能填充上颜色,请检查各区域是否完全闭合了;也可应用缩放工具,适当放大,仔细检查各区域,看是否有线条未闭合的情况。
flash 技巧

Flash 交互打字效果首先来处理这个效果中最重要的部分:字符的显示。
1.新建一个影片元件“screen”。
点选“文字”工具,在“属性”栏中将其改成“动态文本”(如下图),然后在影片中拉出一个大小合适的矩形区域。
2.点选刚刚拉出的文本区域,将其“instance”值改为“textarea”。
然后调整其字体,颜色等参数至适当值。
特别注意将文本区域的“行类型”改成“多行”。
(参考下图)3.点击第一帧,在“帧动作”中加入以下代码:textarea.text=textshow.substring(0,index)+"_";index++;if(index>textshow.length)stop();gotoAndPlay(Math.ceil(Math.random()*5)+5);4.在第10帧新建一个关键帧,点击第10帧,加入以下代码:gotoAndPlay(1);5.新建一个层“back”,在里面拉出一个跟文本框大小差不多的黑色矩形,作为文本框的背景。
点击本层的第10帧,按F5键,将本层时长延长至第10帧。
6.新建一个层“sound”,点击“文件”-》“导入”,导入一个打字的声音文件。
然后将其拖放到这一层的第一帧并适当延长本层时长。
7.退出元件编辑状态,将我们刚才做好的这个元件放到影片中,然后点击它,将其“instance”值改为“screen”。
然后在“动作-影片剪辑”中加入以下代码:onClipEvent(load){textshow=new string;textshow="打字效果演示。
你可以在下面的方框中输入其它字符,改变显示的内容。
由RPGS制作。
";index=1;}现在按“Ctrl+Enter”测试一下影片,你已经可以看见字符一个个地打出来了,你已经学会这个效果的制作了。
下面的工作我们将完成接受有用户输入部分。
8.再在影片的适当位置拉出一个“输入文本区域”(方法同前,只是在“属性”中选择“输入文件(本)”,参考第一步图)。
中文版Flash CS5标准教程

中文版Flash CS5标准教程
Flash CS5是Adobe公司推出的一款专业的交互设计和动画制作软件,它具有
强大的功能和灵活的操作性,是众多设计师和动画师的首选工具之一。
本教程将从基础知识到高级技巧,全面介绍Flash CS5的功能和应用,帮助读者快速掌握
Flash CS5的使用方法。
首先,我们将从Flash CS5的界面布局和基本操作开始介绍。
打开软件后,你
会看到菜单栏、工具栏、时间轴等各种功能面板,我们将逐一介绍它们的作用和使用方法,帮助你快速熟悉软件的界面和操作方式。
接下来,我们将学习Flash CS5的绘图功能。
软件提供了丰富的绘图工具,包
括画笔、橡皮擦、填充工具等,我们将详细介绍这些工具的使用方法,并通过实例演示如何绘制各种图形和对象。
在掌握了绘图技巧之后,我们将进入动画制作的部分。
Flash CS5具有强大的
动画制作功能,包括关键帧动画、补间动画、形状运动动画等,我们将逐一介绍这些动画制作技巧,并通过实例演示如何制作各种动画效果。
除此之外,Flash CS5还具有丰富的交互设计功能,包括按钮制作、交互动画、页面链接等,我们将详细介绍这些功能的使用方法,并通过实例演示如何制作交互式动画和应用程序。
最后,我们将介绍Flash CS5的高级应用技巧,包括ActionScript编程、多媒体整合、导出和发布等,帮助读者进一步提升Flash制作的技能水平。
通过学习本教程,你将能够全面掌握Flash CS5的功能和应用,快速提升自己
的动画制作技能,成为一名优秀的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;。
flashcs6教程5
图5-34 选择“导出影片”命令
图5-35 “导出影片”对话框
● 5.3.2 导出GIF动画图像
如果用户想要将动画中的某个图像以图片形式导出并保存,具体操作步骤如下。 步骤1 在Flash CS6菜单栏中,选择“文件”|“导出”|“导出图像”命令,如图5-36 所示。 步骤2 弹出“导出图像”对话框,选择文件存放位置,在“文件名”文本框中输入 名称,在“保存类型”下拉列表中选择图片类型,这里选择“GIF图像(*.gif)”,再单 击“保存”按钮,如图5-37所示。 步骤3 弹出“导出GIF”对话框,设置图片的尺寸、分辨率、包含(设置导出图像的 内容)、颜色、交错、透明、平滑、抖动纯色等选项,最后单击“确定”按钮即可,如图 5-38所示。
步骤5 若单击“绘图纸外观轮廓”图标,可以在舞台上查看前两个或更多帧上图形 的外观轮廓,如图5-25所示。
步骤6 若单击“编辑多个帧”图标,则可以在舞台上查看前两个或更多帧上图形的 完整形状,如图5-26所示。
步骤7 若要查看所有帧中的图形,可以单击“修改标记”图标,在弹出的菜单中选 择“标记整个范围”命令,如图5-27所示。
步骤8 在工具箱中单击“文本工具”图标,然后在“属性”面板中设置文本字体为 “黑体”,颜色为“白色”,大小为“20.0点”,接着在舞台上创建一个静态文本,并输 入“1”,如图5-20所示。
图5-19 绘制天鹅眼睛
图5-20 输入数字
● 5.2.3 使用逐帧动画让天鹅“飞”起来
逐帧动画是在时间轴上以关键帧的形式逐帧绘制内容而形成的动画。它按照一帧一 帧的顺序来播放动画,因此逐帧动画具有非常大的灵活性,几乎可以表现任何想要表现的 内容。下面就使用逐帧动画让天鹅“飞”起来吧,具体操作步骤如下。
flash小技巧
flash小技巧Flash背景设定技巧两则,虽然是不起眼的小技巧,但也很有用。
一、使用任意颜色做背景通常情况下,在Flash中动画背景颜色仅可以从216种网页安全色中选择。
如果想使用网页安全色以外的颜色作为动画的背景色,可以使用以下方法:1.在动画中绘制一个矩形(其他形状也可以),然后用目标背景色填充此物体;2.按“Ctrl+M”调出动画属性对话框,单击背景颜色,鼠标箭头变为细管;3.把鼠标移动到矩形上,选择。
然后就可以使用该颜色作为动画的背景颜色了。
二、使用透明背景如果要使Flash动画背景透明,我们需要在Dreamweaver 中对动画进行设置:1.在DW中插入一个Flash动画,在对象属性栏中点击参数(Parameters)按钮;2、在参数设定对话框中,点击加号新建一参数,左边参数项填入Wmode,右边参数值填入Transparent;这样,用浏览器打开保存好的页面时,你就会发现Flash 动画的背景已经变为透明。
反映到HTML代码上,即是在插入Flash的<OBJECT >标签中插入以下代码:<param name=″Wmode″value=″transparent″>单实用的Flash技巧心得许多爱好者虽然能作出不错的Flash动画,但他们对该软件本身还缺乏深刻的了解。
一些搞美工的专业人员,有时又惧怕Flash中的Action代码部分。
现就以Flash 5为例,谈谈Flash 5的一些较高级的技巧和心得。
因为笔者就是一个见代码就头痛的人,所以与我有同感的朋友请放心,本文绝没有涉及Action的技巧。
1.遮罩的高级应用深入理解遮罩(MASK),可产生一些很酷的效果。
如:把静止的文字作为遮色片,移动渐变的小花纹图作为MASKED,可在文字轮廓内显示出小花纹的流动效果;把文字块保持静止,而不规则的遮色片逐渐扩张,能使文字产生一种不规则出没的效果;把产生移动渐变的文字块作为遮色片,利用与背景颜色一致的渐近色块作Show Masking,能让文字块产生一种淡入淡出的朦胧效果……还有很多很多,就看你的想象力和创意了。
2024版Flash详细教程完整版PPT课件
•课程介绍与概述•Flash 基础操作与界面认识•图形绘制与编辑技巧•动画制作原理及实践应用•交互式元素添加与脚本编写•优化发布与输出设置•课程总结与展望目录Flash软件简介Flash是一款由Adobe公司开发的动画制作软件,用于创建矢量图形和交互式动画。
Flash具有强大的绘图和动画编辑功能,支持多种媒体格式导入和导出。
Flash广泛应用于网页设计、广告制作、游戏开发、多媒体教学等领域。
Flash应用领域Flash动画可以丰富网页内容,提高用户体验。
Flash广告具有吸引力强、传播速度快的特点。
Flash游戏具有体积小、加载快、互动性强的优势。
Flash课件可以生动形象地展示教学内容,提高教学效果。
网页设计广告制作游戏开发多媒体教学学习目标与要求01020304课程安排与时间第一课时第二课时第三课时第六课时第四课时第五课时启动与退出Flash软件启动Flash软件退出Flash软件属性面板显示当前选中对象的属性,如颜色、大小、位置等。
舞台是动画的展示区域,工作区是编辑和创建动画的区域。
时间轴用于组织和控制动画的播放时间、帧和图层。
菜单栏包括文件、编辑、视图、插入、修改、文本、命令、控制、窗工具箱等工具,用于创建和编辑图形。
认识Flash 工作界面基本工具栏功能介绍线条工具矩形和椭圆工具用于绘制直线、曲线等路径。
用于绘制矩形、圆角矩形、椭圆等形状。
选择工具铅笔工具上色工具用于选择、移动、调整图形对象。
用于手绘自由线条和形状。
包括填充色和笔触色,用于为图形对象上色。
面板操作与自定义设置打开和关闭面板面板位置调整面板大小调整自定义面板设置绘制基本图形(线条、矩形、椭圆)矩形绘制线条绘制矩形工具是Flash形绘制工具之一,可以绘制出不同大小、颜色、边框样式的矩形。
椭圆绘制选择工具变形工具填充工具030201图形编辑工具使用(选择、变形、填充)文本输入与编辑方法文本输入文本编辑除了基本的文本输入外,Flash还提供了丰富的文本编辑功能,如文字对齐、行距调整、字距调整等,使得文字排版更加灵活多样。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17. 笔触颜色:设定边线的颜色。 18. 填充颜色:设定填充的颜色。 19. 颜色设置与转换:设置默认的笔触和填充颜色、
笔触和填充颜色的转换等。 20. 吸附工具:贴紧至对象。
【选择工具】
用来选择并移动目标,修改目标形状的轮廓,按住 “Ctrl”键可在轮廓上添加节点并改变线条的形状。选 择对象是最基本的操作,只有在选择了目标对象后, 才能够对其进行所需的编辑操作。
1. 元件类型
1)影片剪辑 2)按钮 3)图形
2. 创建元件
1)直接创建 2)将已有对象转换为元件 3)将已有动画转换为元件 3. 库
库中除了可以放置与管理元件外,还可以把其他 素材直接导入到库中进行重复使用。
调用其他动画的库 公用库 Flash CS3在公用库中还放了很多元件,分别存放于 “学习交互”、“类”和“按钮” 三个不同的库中,用户可以直接使用。
a. 对象为元件、图像或组合图形
b. 对象为矢量图形
c. 选择边缘封闭线
2.选择多个对象
(1)框选法:在目标位置的左上角按住左键拖动鼠标 至目标对象的右下角,将目标对象的所有内容框选在 矩形区域内。释放鼠标左键,当前图层矩形范围内的 所有对象都会被选中。 (2)首先选中一个对象,然后按住Shift键单击其他对 象即可。
1.选择单一目标对象
(1)单击工具箱中的选择工具。 (2)移动鼠标指针至目标对象上单击,选中目标。
注:当指向的目标对象为元件、图像和组合后的图形时,选择的是一个完 整的目标;当指向目标为矢量图形时,Flash只选择最近两个交点(或端点) 间的线段;当指向为填充色彩时,自动以色彩封闭的边缘为限选择色彩范 围,如图1-12所示:
单击选择工具,当鼠标指针下方出现一个弧线的 标志时,按住Ctrl键和鼠标左键进行拖动,到适当位 置释放鼠标,就可增加一个顶点,如下图所示:
其他工具使用具体见教材
技能拓展 自己选定一个主题使用flash的绘图工具绘
出一幅静态图
项目1:制作电子贺卡
任务二:基本工具的使用
教学目标
• 1. 元件、库的使用 • 2. 绘图工具的使用 制自由的线条。 10. 刷子工具:表现笔刷描绘的图像效果。 11. 墨水瓶工具:修改边线的颜色。 12. 颜料桶工具:修改填充的颜色。 13. 滴管工具:吸取颜色。 14. 橡皮擦工具:擦除图像的填充色和外轮廓。 15. 手形工具:对工作区整体做移动。
16. 缩放工具:放大或缩小画面。
Flash实战技巧教程
项目1:制作电子贺卡
教学目标
• 绘图工具的使用 • 文字工具的使用 • 基本动画的设计与制作 • 电子贺卡制作 • 培养设计与审美能力
教学重点
• 作品的整体构思与设计 • 基本工具的使用 • 基本动画的设计与制作
任务一:基本工具的使用
教学目标
• 1. Flash CS3基础 • 2. 绘图工具的使用 • 3. 文字工具的使用
教学重点
• 1. 逐帧动画制作方法 • 2. 补间动画制作方法
知识讲授
一、元件库的基本使用
元件是存放在库中可被重复使用的图形、按钮或 者动画,【库】面板是放置和组织元件的地方。要 使用元件时,直接把元件从库中拖入到舞台上,此 时舞台上的这个对象称为该元件的一个实例。实例 是指在舞台上或者嵌套在另一个元件内部的元件副 本,用户可以修改它的颜色、大小和功能而不会影 响元件本身。
供了几百个关键词,可完成复杂的行为制作。
特点:
使用矢量图形 支持导入音频、视频 采用流式播放技术,拥有强大的网络传播能力 交互性强,能更好地满足用户的需要
2、Flash CS3动画制作的基本步骤
1)动画策划 2)收集素材 3)制作动画 4)调试动画 5)测试动画 6)发布动画
3、Flash CS3工作界面
4、Flash CS3文件操作
文件的新建 保存 打开 关闭
5、基本绘图工具的使用
在Flash动画制作过程中,会大量地运用到矢量图 形。Flash提供了各种绘图工具,可以绘制出自由形 状或准确的线条、形状和路径一些简单的矢量图,并 可用来对对象进行上色。Flash的工具箱如下图所示:
选择工具 任意变形工具
教学重点
• 1. flash动画制作过程 • 2. 基本工具的使用
知识讲授
1、Flash CS3的功能、特点
功能: 绘图功能:Flash CS3可以完成图形绘制、特殊字
形处理等方面的工作。 动画功能:Flash CS3提供的动画工具可以制作出
漂亮的动画。 编程功能:制作Flash交互式动画。Flash CS3提
3. 移动顶点
当目标为矢量图形时,单击选择工具,当鼠标指针 移动到对象的顶点时,鼠标指标会发生变化,这时按 住鼠标左键并拖动鼠标,即可改变顶点的位置,如下 图所示:
4. 将直线变为曲线
单击选择工具,将鼠标放到对象的边缘,鼠标指 针会发生变化,这时按住鼠标左键并拖动鼠标,如下 图所示:
5. 增加顶点
二、简单动画制作
1、基本概念 1)动画原理 2)时间轴
3)图层 图层,分普通层、引导层等。普通图层就像没有 厚度的透明纸,上图层的图形可以覆盖下图层的图形。
4)帧 帧是组成Flash动画最基本的单位,一帧即一副 画面。 帧,分普通帧、关键帧和空白关键帧。 5)场景 6)舞台
2、洋葱皮工具
在时间轴控制区域下方的 就是洋葱皮工具,该工 具在动画的制作和编辑过程中非常有用,利用它可同 时看到多个帧的动画状态:
钢笔工具 线条工具 铅笔工具
墨水瓶工具
部分选取工具 套索工具
滴管工具 手形工具
文本工具
笔触颜色
矩形工具 刷子工具
颜色设置与转换
颜料桶工具 橡皮擦工具 缩放工具
填充颜色
吸附工具
1. 选择工具:选择工作区中的图像或文字等对象。 2. 部分选取工具:选择锚点和贝塞尔曲线并变形。 3. 任意变形工具:可以对对象进行旋转、倾斜、和
扭曲操作;里面包括的渐变变形工具可以对对象 的颜色渐变填充进行变形操作。 4. 套索工具:允许用户自定义范围来完成对对象的 选择。 5. 钢笔工具:用来绘制精确的直线或曲线。 6. 文本工具:用来建立和编辑文本。 7. 线条工具:用于绘制直线。
8. 矩形工具:绘制椭圆形、正圆形、矩形、多角星 形等。