毕业论文 论文提纲 论文写作 公文范例 教育论文 教育学论文 师范教育 学术论文     论文指导*
                     
 
   
   
   
   
           
 

当前位置:课件115学培吧(kj115.com)→flash网侠教程(助你成为顶尖课件高手)→系列文章

 
 
标题:Flash实例教学(一种特殊效果的制作)
 
展示台

文章来源 作者:admin 密码:admin 整理:湖北金鹰

◇网侠教程栏目简介
    提供FLASH侠客教程和网页制作侠客教程,高手进阶教程。
    浏览过这些资源的还浏览过经典教程图文教程游戏开发教程等相关资源。

---------------

湖北金鹰课件吧

论文相关服务
 

 

本文将带领大家一起,通过Flash中的ActionScript脚本编程,实现节日烟花动画。开始时将出现烟花绽开的三维动画,随后烟花逐渐下落并消失,非常漂亮。
第一步:启动Flash MX 2004中文版(以下简称为Flash)并新建一个Flash空白文档。在下面属性面板上,单击“背景”右侧的颜色按钮,将背景色设置为黑色。
第二步:按Ctrl+F8键打开创建新元件对话框,元件命名为“grastar”,“行为”选择“图形”,确定后进入元件编辑窗口。将笔触与填充色都设置为白色,然后用椭圆形工具画两个交叉的细长椭圆形,再用铅笔工具稍加修饰,即可得到如图1所示的星星图形。

Flash实例教学:一种特殊效果的制作图片1

  第三步:按Ctrl+F8键打开创建新元件对话框,将元件命名为“mvcstar”,“行为”选择“影片剪辑”,确定后进入该元件编辑窗口。按Ctrl+L键调出库面板,从库面板中将刚刚制作的图形元件grastar拖到mvcstar元件编辑窗中。点选第9帧,然后按F6键插入一个关键帧,以同样方法在第10、25帧处也分别插入关键帧。点选第1帧,然后在属性面板中将“补间”项设置为“动作”,将“旋转”项设置为“顺时针”,“次数”为1,这时第1帧到第9帧会变成蓝色,并显示一个带箭头的直线,说明补间动画设置成功。点选第25帧,将其中的星星图形向下移动一定的距离(可按Shift+向下方向键调整),再使用任意变形工具(快捷键为Q)适当缩小星星的大小,然后单击属性面板上的“颜色”下拉按钮,选择“Alpha”项,再在右侧将颜色的透明度设置为0,这样是为了让星星有逐渐下落并消失的动画效果。点选第10帧,在属性面板中将“补间”设置为“动作”即可。
第四步:点选第25帧,单击展开下方的“动作-帧”面板,在右侧窗口中填写以下脚本语句。最后的时间轴效果如图2所示。

Flash实例教学:一种特殊效果的制作图片2

stop();
_root.gotoAndPlay(1); // 跳转到主时间轴上并播放第1帧
第五步:单击上方编辑条上的“场景1”回到主场景中,将做好的影片剪辑mvcstar拖放到场景之外(这样在播放时就看不到mvcstar了)。点选这个mvcstar实例,在属性面板中将它的“实例名称”命名为itnstar,以便在后面的程序设计中使用。右键单击第2帧,选择“插入空白帧”命令。然后,点选第1帧,并展开下方的“动作-帧”面板,在其右侧编辑窗口内写入下面的脚本代码,连同注释一共才二十几行,非常简单。注意,语句前面的数字序号是为了说明方便而加上的,输入代码时不要输入这些数字。输入代码后,按下Ctrl键并回车,就可以欣赏一下自己编程制作的节日烟花了(见图3)。后面一节内容中,还将为你详细剖析代码的含义。

Flash实例教学:一种特殊效果的制作图片3

1. // 设置影片片段分身X、Y的坐标;
2. basex = random (450);
3. basey = random (300);
4. for (var i = 0 ; i<6 ; i++) {
5. num = i*17;
6. // 设置圆周平分的个数;
7. angle_num = Math . pow(2, i+2);
8. // 设置影片片段分身的半径;
9. r = 40 + i*15;
10. // 设置影片片段分身的层次;
11. d0 = Math . pow (2, i )-1;
12. d = 4*d0;
13. for (var j = 0 ; j < angle_num ; j++) {
14. if (i == 0) {
15. d = 0;

    • }
    • 17. depth = d+j+1;
    •  
    • 18. // 复制影片片段分身
    • 19. duplicateMovieClip ("itnstar", "itnstar" add i add j, depth);
    • 20. // 设置各个影片片段分身的角度
    • 21. angle = j*Math.PI/180*360/angle_num;
    • 22. // 设置影片片段分身属性;
    • 23. setProperty("itnstar"add i add j, _x, basex+Math.cos(angle)*r);
    • 24. setProperty("itnstar" add i add j, _y, basey+Math.sin(angle)*r);
    • 25. setProperty ("itnstar" add i add j, _alpha, 100-num);
    • 26. setProperty ("itnstar" add i add j, _xscale, 100-num);
    • 27. setProperty ("itnstar" add i add j, _yscale, 100-num);
    • 28. }
    • 29. }
    • 将以上代码加到第1帧后,再点选第2帧,并写入以下一行代码:
    •  
    • stop();
    •  
    •   程序分析:知其然更知其所以然
    •  
    •   上面代码的本质是通过将一个实例复制成多个,并按一定规律分布显示出来,达到烟花绽开的效果。以“//”开头的代码行是程序注释,可有可无,主要作用是对程序代码作一些简单说明,运行时Flash会自动忽略掉它。上面代码中,第2、3行是设置星星影片片段分身的X、Y基点坐标,也就是最后形成的满天星动画的中心点坐标,random (value )函数得到一介于0~value-1之间的随机值。我们知道在三维立体中,远处的物体比近处的物体要暗要小,因此第5行的num是为后面影片片段分身的透明度及缩放设的值,以使整个图像看起来有三维立体的效果。影片片段分身的属性值在25、26、27行设置。第7行中Math.pow (x ,y )函数返回值是x的y次方。
    • 下面主要说明第19行的函数duplicateMovieClip(target , newname,depth),它是用来复制影片片段分身对象的,其中:target:被用来复制的源影片片段的分身(本例中为mvcstar对象的实例itnstar)
    •  
    •   newname:分身对象(即复制出来的新影片片段)的名称。本例中因为要复制出多个对象,为了不使对象的名称重复,这个参数用“"itnstar" add i add j”这种形式来表示的,and表示在字符itnstar后面再加上数字变量i和j,通过for循环,变量i和j的值将自动向上递增,这样,后面的对象名称将自动变为itnstar01、itnstar02、itnstar11、itnstar12……
    •  
    •   depth:这是一个堆叠参数。指定新完成的对象与其他对象重叠时的显示层次,depth越大时,所显示的分身对象越在上。若有两个显示层次相同的影片片段,则先复制的影片片段会被后建立的取代。
    •  
    •   有关影片片段分身所在角度及层次值需要一定的数学运算技巧,这里的设计思想是:用变量i控制影片片段显示几圈,变量j用来控制每圈中的影片片段的个数。在第一圈(i=0)有四个影片片段分身,每一分身相隔360/4=90度,其所在层次为1~4;第二圈(i=1)有八个影片片段分身,每一分身相隔360/8=45度,其所在的层次为5~12,依此类推。
    •  
    •   Just Do It!
    •  
    •   本例中的烟花是呈圆形发散的,这取决于数学公式Math.cos(angle)*r和Math.sin(angle)*r所确定的X、Y值。你可以设计出其他数学公式以获得不同的烟花形状。另外,为使动画更具有逼真的效果,还可以加入烟花升空时的声音特效。
    •  

     

 
课件115学培吧(湖北金鹰)欢迎您!永久免费服务网址:http://www.kj115.com
   
 

学员众多的FLASH课件学习基地,成万免费FLASH课件制作教程在线学习,还有免费内容课件教程、视频教程、课件技巧、课件探讨、课件欣赏、课件展示、实用教程、课件界面、课件脚本、课件游戏、课件下载、课件封面、课文内容图片、课文人物图片库、课件素材、图片素材、声音素材、动物素材、背景图片、背景资料、背景边框、课件顶栏图片素材、Dreamweaver教程、Dreamweaver网页课件教程、软件下载。承接学习和培训,承接课件订制,课件修改等所有课件相关服务。
本站主要业务:┃flash课件制作视频教程培训┃承接全国竞赛flash课件┃论文代写代发┃代办课件国家级获奖证书┃
联系:QQ:444860709 手机:13339817386


 
 

业务办理
鄂ICP备08005724号