




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
带进度条的Loading制作Loading的制作已经是个比较老的话题了。但是最近仍然不断有人问这个问题,毕竟什么时候都有初学者嘛。换个角度看,这也说明我们的闪客队伍是在不断涨大,倒是个可喜的现象。也给了我动力,来写这篇文章,给入门者提供一个较为详细的教程。好,我们开始。Loading一般可以用两帧来制作,放在动画的最前面。如果一个比较大的动画已经做好了,再插入帧太麻烦,也可以增加一个场景,专门放Loading,这个我们一会儿再讨论。我们先来看看最基本的制作步骤。打开Flash MX(我这里以Flash MX做示例,不过其中的编程语句全部都是flash5支持的),新建文件,设定好场景尺寸、背景颜色和帧速。先做一个带有“Loading.”字样的MC(Movie Clip 以下同)。我这里做了个简单的文字闪烁,也是最常用到的一种效果。把它放入场景的第1帧。在它下面画一个矩形框,里面画个没有边线的矩形填充作为将来的进度条。选择这个矩形填充,按F8转为符号。给它命个名,我这里是“jdTiao”。类型选Movie Clip,如果选Graphic,将来在场景中就不能对它命名和进行Action控制(这也是Movie Clip和Graphic的主要区别之一,而通过会动还是不会动来定符号类型则是初学者最易走进的误区,其实MC和Graphic都可以是动画,也都可以是静止图片)。最后需要注意的一点,看见Registrati选项了吗?它旁边有9个小方框,这是用来确定符号的中心点的,我们这里选择左边中间的那个点。你可以试试选择中心点最终会是什么效果。多做这样的尝试是个好习惯,能够帮助你加深理解。经验从哪里来?就是从错误中来!在场景中选择进度条,在属性面板中把它命名为“tiao”。注意,这是实例名,要和符号名(jdTiao)区别开,用action控制时,使用的是实例名。这是个初学者易犯的一个错误。在进度条的右边创建一个动态文本,宽度为3个字母,设置它的属性:变量名为“loaded”,对齐方式为居左。紧接其后,创建一个静态文本,输入一个百分号“%”。现在场景编辑基本完成,按F6插入一个关键帧,我们需要2个帧来进行循环。下面开始action的编写。第1帧:loaded = Math.round(getBytesLoaded()/getBytesTotal()*100);setProperty(_root.tiao, _xscale, loaded);if (loaded=100) gotoAndPlay(3);我来解释一下这几个语句。loaded = Math.round(getBytesLoaded()/getBytesTotal()*100);这是给变量loaded赋值的语句。“loaded”是什么?还记得我们刚才创建的动态文本吗?我们给它设置的变量名就是“loaded”,这样,在动画发布后,动态文本框中显示的内容就是loaded的值。也就是说,只要按我们的需要动态的给loaded赋值,场景中就会即时的显示出这些数据。这里想要显示的是已经下载的百分比,看看如何计算:getBytesLoaded() 获取已经下载多少字节的函数;getBytesTotal() 获取动画共有多少字节的函数;它俩的比值再乘上100,就得到了下载的百分比;Math.round() 它的作用是把数值四舍五入,这样就把百分比进行了取整。setProperty(_root.tiao, _xscale, loaded);这一句用来控制进度条的显示。setProperty()是设置实例属性的,大家应该很熟悉了。Property一栏选_xscale,因为我们想控制的是进度条的宽度。value一栏填入loaded,对,就是刚才计算出的百分比。记得把Expression选中哟。提示:输入数值常量或变量名,一定要勾选Expression,不然的话,程序就只会把它当成“loaded”这几个字母。这也是初学者易犯的一个错误。输入Target栏时,可以利用下面的目标路径工具。点击之后,出来一个对话框,场景中已经命名的实例就会一目了然。这样做一般就不会出错了。提示:Notation的选项,Dots是点语法,flash 5之后开始采用;Slashes是斜杠语法,flash 4的语法,不推荐使用了。Mode选项,Relative是相对路径,Absolute是绝对路径,我个人的意见是,初学时先用绝对路径。if (loaded=100) gotoAndPlay(3);这个判断语句很好理解,如果载入完毕(loaded=100),就跳转到第3帧开始播放主动画。不过还是有两点需要注意。第一,loaded=100,这个“=”千万别写成“=”,loaded=100就成了赋值语句了,100是个正值,作逻辑判断就是真(True),这个判断语句就没什么意义了,gotoAndPlay(3)一定会被执行。第二,我在文章开始提到的,想把Loading单独放在一个场景怎么办?比如Loading在第1场景(Scene 1),主动画在第2场景(Scene 2),这时只要把gotoAndPlay()语句稍作改动就行了,如图所示:第1帧制作完成,开始第2帧。这帧只有一个语句:gotoAndPlay(1);就是返回第1帧,构成一个循环。至此,Loading制作全部完成。把它加入你的动画测试一下吧。看不到Loading效果?在你的Flash MX里按两次Ctrl+Enter试试。教程的详细内容很多朋友在做作品的时候,事先没考虑到Loading的问题,在作品完成想要发布的时候,想到文件有些大,要加一个loadiing下载动画,如果在同一场景前添加loading,作品比较大,托动所有帧比较麻烦,往往一不小心还容易出错,这是初学者经常遇到的问题,这里介绍一种简单的增加场景制作loading的方法,本实例中只显示进度条和下载的百分比。打开一个你的作品或练习的源文件:一:增加-场景 选择修改菜单下的场景(shift+F2)打开场景面板,点击场景面板右下角“+”按钮,增加一个“场景2”,这个“场景2”就是我们用来做loadding的场景。托动“场景2”的到“场景1”上面,这样做的是因为播放动画是按照场景的先后顺序播放的,我们要先播放Loading的场景,请看(图1)二:增加-图层 在“场景2”中,点时间轴下的增加图层“+”按钮,建立4个图层, 从上到下分别命名为:action层、进度条层、按钮层、动画层。请看(图2)三:AC控制层-添加代码: 1.选中action图层,选中第一帧在属性面板处,写上play(加上帧标签play),然后窗口-动作(F9)打开动作面板,复制下面的代码并粘贴见(图3)。/ 将电影总字节数赋值给total变量total = _root.getBytesTotal();/ 将已经下载的字节数赋值给loaded变量loaded = _root.getBytesLoaded();/ 取整计算已下载的字节数的百分比并赋值给变量loadload = int(loaded/total*100);/ 把已下载的字节数赋值给动态文本变量loadtxtloadtxt = loading+load+%;/ 进度条同时按百分比数跳转到相应的帧上去;_root.进度条.gotoAndStop(load);2.在第6帧(F7)插入一个关空白关键帧,复制下面的代码并粘贴,请看(图4)/如果下载字节数=总字节数,跳转到6帧停止if (loaded = total) gotoAndStop(6);/否则跳转到标签名play的帧,继续下载 else gotoAndPlay(play);四:创建进度条影片剪辑: 1.(Ctrl+f8)插入-新建元件-影片剪辑,命名为:进度条。 在这个MC上,建立了两层,分别为“边框线”、“填充色”(图5) 2. 在“边框线”层,选择矩形工具,边框及填充颜色自定义,画一个矩形,在属性面板设置:宽:300;高:24;X:-150,Y:-12。在100帧处F5插入普通帧。选中矩形里面的填充色(Ctrl+X)剪切,粘贴到“填充色”层第一帧(Ctrl+Shift+V)选择编辑菜单下的粘贴到当前位置,调整填充色颜色,在100帧处F6插入关键帧,选中第一帧创建“形状”动画,在第一帧将矩形宽改为:3。双击矩形框在属性面板把笔触调整为:2,颜色自定义。请看(图5)五:进度条层-设置进度条及动态文本:1.回到场景2中把刚做好的“进度条”MC从库中拖放到“进度条”这一图层的第一帧上,放到合适的位置。然后选中舞台中的“进度条”MC,在属性面板上写上实例名“进度条。在第6帧按F5插入普通帧。2.选中“进度条”层,选择文本工具“A”,在舞台合适的位置加入一个动态文本框(文本框是动态的写入程序运算后的百分比结果的),在属性面板上设置文本类型:动态文本,字体:Arial 变量名:loadtxt,单行,字体大小颜色自定义,相关参数请看(图6)六:按钮层-添加播放按钮:1.在“按钮层”第6帧按(F7)插入一个空白关键帧,选择窗口菜单下公用库,打开按钮库,托出一个自己喜欢的播放按钮, 摆放到舞台合适位置并调整大小。(本例中选择的是:playback-playback-play)有时间可以自己做一个和你的作品风格统一的按钮。2.选中舞台上的按钮元件:窗口-动作(F9)打开动作面板,给按钮加上下面的代码:on (release) /释放按钮gotoAndPlay(场景 1, 1);/跳转并播放场景1的第1帧 注:这里的场景 1是你要播放的第一个主动画的场景名字,可根据你作品实际情况填写。七:动画层-放置动画MC:现在loading就能用了,但为了让等待画面好看可以在“动画层”加入动画MC。我们可以自己做几个动画的MC,或者把场景1作品中比较漂亮的影片剪辑加入到“动画层”,放到合适的位置,也可以自己根据作品的需要去创意。八:测试保存:Ctrl+Enter 测试影片。如果作品比较小,在测试的时候loading会瞬间就过去了,告诉大家一个简单看见完整地loading的办法: 在测试影片的时候,注意一定要在Ctrl+Enter以后,选择“查看”菜单下的“显示数据流”就可以慢慢的欣赏loading的全过程了。(注:没有在 Ctrl+Enter测试状态下,“查看”菜单下面是没有这个选项的。) 在这个闪客纵横的网络时代,相信大家对Flash动画应该不会陌生,而现在许多Flash动画都有Loading效果,这样做的目的主要是为了照顾在网上观看动画的朋友,在动画下载的过程中不会感到太无聊,从而让等待变得短暂,本文就为大家详细介绍Loading效果的制作。图1实现效果动画刚播放时显示一个等待画面,画面显示了动画的大小,已下载的字节,已下载的百分比,百分比还通过不断变化的长方形来体现,最终效果如图1所示,这是我们常见的Loading效果,所涉及的Actions技术却很简单。制作过程1、启动Flash MX,新建一个文件,文件名为“Loading效果”;按Ctrl+J打开背景设置对话框,将背景色(Background)设置为纯黑色;选择“ModifyScene”打开对话框(如图2),单击“+”可增加场景,这里增加一个场景,并且重新命名,第一个场景作为等待画面,第二个场景就是动画的主体,专门用来制作动画,当然了还可以在此基础上再增加需要的场景;最后在“等待画面”场景上单击使其作为当前编辑场景。图22、进入场景“等待画面”后,在原有层上再插入两个新层,分别双击层名,从上之下分别取名为:Actions、动态变化、显示信息。在层“显示信息”的第1帧的场景中输入文字(参照图1上面三行),其中的虚线框为动态文本框;三个文本框的设置基本相同(如图3),不同之处是文本框的变量名(图3中的椭圆圈出部分),从上之下,第一个为:ypkb,第二个为:loadbyte,第三个为:bfb,最后在第3帧处按F5键插入空白关键帧。图33、按Ctrl+F8键在弹出的对话框的Name项中输入:长方形,Behavior选择“MovieClip”;进入场景后利用绘图工具绘制一个天蓝色的长方形,稍微长一些;回到主场景中,在层“动态变化”的第1帧输入文字“Loading”,然后绘制一个白色长方形,按Ctrl+L打开Library库,将刚刚制作的“长方形”影片拖放到白色长方形上方(参照图1);最后选中影片“长方形”,单击场景下方的Properties按钮,将其Instance Name设为“changfangxing”。图44、参照图4,在层“Actions”的第1帧单击右键选择“Actions”打开Actions对话框,切换到Expert Mode模式,在其中输入以下语句:ypbyte=this.getBytestotal();/获取动画文件的字节数ypkb=Math.round(ypbyte/1024);/将字节数转化为KB作单位。在第2帧按F6键插入关键帧,然后加上如下语句:loadbyte=this.getBytesloaded();/获取已下载的字节数。bfb=Math.round(loadbyte/ypbyte)*100);/通过四舍五入法取得百分比的数值。changfangxing._xscale=bfb;/让长方形的横向缩放值和百分比值相同,这样长方形就会动态改变。最后在第3帧插入关键帧,并且加上如下语句:if (bfb100) gotoAndPlay(等待画面, 2); else gotoAndPlay(主体动画, 1);/当百分比值小于100时,继续下载,反之开始播放动画。5、在“主体动画”场景中,发挥自己的创意,制作动画。最后选择按“ControlTest Movie”(Ctrl+Enter)测试动画,可能不会看到预期的效果,这是因为传输速度太快,一瞬间就传送完毕;此时在测试场景下选择“Debug56K”,再选择“ViewShow Streeming”就可以看到效果,这是通过模拟网络速度为56K,动画的下载情况的动态显示,如果将动画上传到网络上就可以直接看到实际的效果。注意:刚才这一步很重要,否则就看不到效果,到时可不要说我骗人啊!呵呵再度深入1、如果不想等待画面上有太多的信息,下面的语句也可以很简单的实现Loading效果。if (_root._totalframes_root._frameloaded) gotoAndPlay(等待画面, 1); else gotoAndPlay(主体动画, 1);/当载入帧数小于影片的所有帧数,动画播放等待画面,反之播放主体动画。2、Loading的效果千变万化,比如说本例中长方形我们可以换成灯泡,通过灯泡慢慢变亮来表示动画下载即将完毕,这主要通过改变灯泡影片alpha值来实现明暗变化;再比如说我们还可以将长方形替换成动画,稍稍修改一下Actions语句,这样在等待的过程中动画会不停的播放,画面就不会显得太单调了。制作loading虽然是老生常谈的话题,但很多朋友在制作flash网页的时候提过如何将加载外部影片的进度条做在主影片中,我想这是可以简化外部影片制作的原因吧。下面我把制作方法简单给大家介绍一下。(不知道以前有没有朋友发过此类的文章,如有雷同,实属巧合!) 这个源文件的演示只能看这里了: 开始制作了: (一)按Ctrl+F8新建一个影片剪辑,命名为“tiao”然后选用矩形工具,从场景中心点向右拉出一个条形。 如图1 (图1)(二)按Ctrl+F8新建一个影片剪辑,命名为“loading”按Ctrl+L打开库,将刚才制作好的影片剪辑“tiao”从库中拖入场景,取实例名为“jdt”。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论