yoguz
查看yoguz的博客
金钱 | : 18255 |
Level | : 0 |
发帖数 | : 1564 |
最后登陆 | : 2019/10/24 |
注册时间 | : 2004/12/13 |
|
偶来试试写个通俗点的LOADING制作方法,大家表丢鸡蛋和砖头给我。。。。 [一] LOADING的原理 目前网络作品中使用最多的就是带进度条的LOADING,那种没有进度的实在让人等的不耐烦>_<b,这里以进度条LOADING制作为例子。 我们不妨把FLASH动画看成一堆要卸下来的货物,整个过程相当于由“三个人”来完成,第一个是搬运工,负责卸货的。。。第二个是监督员,来检查搬运工是否把货卸完,最后一个是报告员,向上级报告已经卸完了多少货。 [二] 实际实现 首先我们来实现“报告员”,新建一个组件,组件名随意,把这个组件编辑成100帧的一个动画,这个大家可以发挥想象,随便做成什么样子都可以,不过记住一定要是100帧。然后在该动画的第一帧单击鼠标右键选择 动作 (ACTION)输入: stop(); //停止播放 本句用来防止还没有开始下载,进度条就自己开始播放,还没有卸货就开始记数是8允许的~~~ 报告员已经“聘请”到了,我们要把他放到适当的位置,回到主场景,把刚才制作的组件拖出来,并给他起个名字,到时候好让监督员传唤。。。在这里我把他的实体名命名为loadingbar,以后就可以用这个名字找到他 接下来我们来实现搬运工和监督员,新建一个图层,命名为action,以此图层来专门放置整个影片中的ACTION动作(偶是有这个毛病D。。。),该图层第一帧作为搬运工,输入以下ACTION: all=_root.getBytesTota(); //计算整个影片的大小,其中_root是指主场景 downed=_root.getBytesLoaded(); //计算已经下载影片的大小 per=int((downed/all)*100); //计算下载影片的百分比,int()为取整函数,将结果转换为整数 loadingbar.gotoAndStop(per); //告诉“报告员”已经下载了多少,并让其显示 这里就可以看出刚才为什么要制作100帧动画啦:) 在第二帧插入关键帧,做为“监督员”,输入以下ACTION: if(all==downed){ gotoAndPlay(3); //如果影片已经下载完成,则跳到第三帧开始播放影片 }else{ gotoAndPlay(1); //小样,还没卸完货就想休息??回第一帧在去给我卸!! } 在这里说明一下 == 是用来判断两边是否相等的,也就是逻辑运算符,而 = 是把右边的值赋予左边的,赋值运算符。if(xxx){....1...}else{....2...}运算规则,如果XXX成立,就运算1部分,如果不成立(else)则运算2部分 大家可以去试一下~~不过建议把东西做稍微大点然后放到网上,这样容易看到效果,虽然听说在FLASH里也可以设置带宽来调试LOADING代码,但是偶一直都8会,哪位大侠教教偶呀。。。。
|