实验五创建交互式动画.doc_第1页
实验五创建交互式动画.doc_第2页
实验五创建交互式动画.doc_第3页
实验五创建交互式动画.doc_第4页
实验五创建交互式动画.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

实验五 创建交互式动画一、实验目的1. 掌握“动作”面板的使用方法;2. 掌握动作脚本语言;3. 掌握基本动作的使用;4. 掌握常用的动作语句(goto、getURL、Fscommand、play、stop等);5. 会制作按钮元件。二、实验内容1、制作脚本动画。2、制作交互式动画。三、实验步骤(一)雪花飘飘打开flash cs4,选择新建flash文件(ActionScript. 3.0). S;NtGBu4K0Si 9Z80导入一张背景图片,在场景中放好。F1m2Zm$K0闪吧新社区 aj*c _&zJ新建一个影片剪辑元件,名字为xueh,背景为黑色,将舞台放大到800%,用椭园工具,画一个雪花。在第30帧插入关键帧。插入引导层,画一条由上向下的弯曲引导线。回到第一层,在第一帧和30帧,分别将椭园放到引导线的两端,建立补间动画。8uR7Mnd3 T09nD hP2WrGd,F0打开库,在元件上右击,打开链接面板,在类文本框中输入:xueh确定。闪吧新社区1Y(k|/qaiE !u*H1rY0p+o L8j!qSgR |0s0回到主场景,新插入一图层,命名为action,打开动作面板:输入:hWH z x;U:|0闪吧新社区 keN kN wvar i:Number = 1; 3oKd;|vv0addEventListener(Event.ENTER_FRAME,xhpp);HeL t8l |I0function xhpp (event:Event):void 闪吧新社区 slv:tJavar mc:xueh = new xueh ();闪吧新社区D_L|addChild(mc); 闪吧新社区;E4RPV/kbMmc.x = Math.random()*550; iB(I)Dfi0mc.scaleX = 0. + Math.random();闪吧新社区%xRva8d _ IPmc.scaleY = 0. + Math.random();6g0Jj-A Xp0i+;闪吧新社区s_7|-MB%geif(i100) 闪吧新社区kq&dcTlA.Ythis.removeChildAt(1);/ey6Uc6ie(Ul%d0XT0i=100; .S0m2L gocv1y9o0 ic d!vZ!_0 $D&gi0ZM&xg0闪吧新社区rPE,V;unv%制作完成,欣赏一下吧,好美的雪景。B(I/N#aI0(二)漂亮的气泡动画1.首先制作气泡元件2.在场景中设置如图详细代码如下:functionball(r:int):MovieClip/自定义函数ball,参数为r,整数型,返回值为MovieClip varcol:uint=0xffffff*Math.random();/声明一个无符号整数型变量col,获取任意颜色 varsh:MovieClip=newMovieClip();/声明一个影片剪辑类实例sh sh.graphics.beginGradientFill(GradientType.RADIAL,0xffffff,col,col,0.5,1,1,0,200,255);/在sh中设置渐变填充样式(放射状渐变,颜色,透明度,色块位置) sh.graphics.drawCircle(0,0,r);/在sh中画圆(圆心坐标(0,0),半径为参数r) sh.graphics.endFill();/结束填充 returnsh;/返回sh varballArr:Array=;/声明一个空数组ballArr for(vari:int=0;i10;i+)/创建一个for循环,循环10次 varballs:MovieClip=ball(Math.random()*20+20);/声明一个影片剪辑类实例balls,调用函数ball(参数r半径的值为2040之间的随机值) addChild(balls);/把balls添加到显示列表 balls.x=Math.random()*(stage.stageWidth-balls.width)+balls.width/2;/balls的X坐标 balls.y=Math.random()*(stage.stageHeight-balls.height)+balls.height/2;/balls的Y坐标,使它出现在舞台的任意位置 balls.vx=Math.random()*2-1;/为balls设置自定义属性vx,数值为-11之间的随机数,表示X方向的速度 balls.vy=Math.random()*2-1;/为balls设置自定义属性vy,数值为-11之间的随机数,表示Y方向的速度 ballArr.push(balls);/把balls添加到数组ballArr中 addEventListener(Event.ENTER_FRAME,frame);/添加帧频事件侦听,调用函数frame functionframe(e)/定义帧频事件函数frame for(vari:int=0;iballArr.length;i+)/创建一个for循环,循环次数为数组ballArr的元素数 varballs:MovieClip=ballArri;/声明一个影片剪辑类实例balls,获取数组ballArr的元素 balls.x+=balls.vx;/balls的X坐标每帧增加balls.vx balls.y+=balls.vy;/balls的Y坐标每帧增加balls.vy if(balls.xstage.stageWidth-balls.width/2)/如果alls出了舞台右边缘 balls.x=stage.stageWidth-balls.width/2;/balls的X坐标获取场景宽度与balls宽度一半的差 balls.vx*=-1;/balls.vx获取它的相反数 if(balls.ystage.stageHeight-balls.height/2)/如果balls出了舞台下边缘 balls.y=stage.stageHeight-balls.height/2;/balls的Y坐标获取舞台高度与balls高度一半的差 balls.vy*=-1;/balls.vy获取它的相反数 for(varj:int=0;jballArr.length-1;j+)/创建一个for循环,循环次数比数组ballArr元素数少1 varball0:MovieClip=ballArrj;/声明一个影片剪辑类实例ball0,获取数组ballArr的元素 for(varm:int=j+1;mballArr.length;m+)/创建一个for循环, varball1:MovieClip=ballArrm;/声明一个影片剪辑类实例ball1,获取数组ballArr的元素 vardx:Number=ball1.x-ball0.x;/声明一个数值型变量dx,获取 vardy:Number=ball1.y-ball0.y;/声明一个数值型变量dy,获取 varjl:Number=Math.sqrt(dx*dx+dy*dy);/声明一个数值型变量jl,获取小球的距离 varqj:Number=ball0.width/2+ball1.width/2;/声明一个数值型变量获取小球半径之和 if(jl=qj)/如果jl小于等于qj varangle:Number=Math.atan2(dy,dx);/声明一个数值型变量angle,获取ball1相对于ball0的角度 vartx:Number=ball0.x+Math.cos(angle)*qj*1.01;/声明一个数值型变量tx,获取目标点的X坐标 varty:Number=ball0.y+Math.sin(angle)*qj*1.01

温馨提示

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

评论

0/150

提交评论