如何制作loading?
解决思路
loading为动画的预加载。为了达到动画的流畅播放,我们要使动画在网络上全部加载完成以后在播放。这样就要使用as语句来设定。通过用加载帧loadFrame,和加载字节等语句来完成。
具体步骤
Loading.英文原意为装载,装填。在flash里面叫做预载画面。我们在欣赏每一件完整的flash作品的时候,都会看到loading的出现。这是因为,动画播放是否流畅取决于网络带宽,对于用调制解调器的朋友们欣赏的时候,loading会预先的加载一部分或全部以后,才能流畅播放。非凡是,动画中有音乐或者位图的情况下,loading 的作用就显而易见了。由于上述的条件限制,没有哪一个动画不作loading。Loading发展到现在已经不是简单的一个下载动画的工具了。它已经成为体现主体动画,衬托主体的一个载体。Loading分为两个大部分。一个是功能类的(指下载作用功能)另一部分是等待动画。下面我们就从这两个方面来研究一下。
制作loading 有许多的方法。我们从最简单的开始向大家介绍:
第一种:loading( 假的 )
也就是假loading。这种loading我想在某些人的动画中也会出现。我就曾经作了一个。我先作的动画,最后作loading,时值夜半,睡意朦胧,恍惚中作了一个。欣喜之余,马上发布。天明清醒,遂发现loading没加as。故称为(假)loading 。幸好,动画不长,没人发现。心中窃喜。在这里告诫朋友们,loading 也是我们的作品的一部分,我们要用正确的态度来对待它。
www.hot007.com

图3.3-1 影片剪辑loading
3 回到主场景,把名称为”loading”的影片剪辑拖入到第一层。并延长到第二帧(F5)
4 新建一层,命名为“as”。在第一帧,和第二帧分别插入要害帧。第一帧加入as:ifFrameLoaded(3){
gotoAndPlay(3);
}
第二帧加入as: gotoAndPlay(1);
5 新建一层,命名为主动画。
在主动画层的第3帧,插入要害帧,放置你的动画。也就是说,动画可以从这里开始作。如图3.3-2所示。
www.hot007.com

图3.3-2 时间线设置
6 按Ctrl Enter 两次,欲览loading 。假如你作的动画比较小的化。可以改变swf文件菜单栏中的调试项,选择低一点的速度。
7 完成! 请参看源文件“ifFrameLoaded”。
由于影片剪辑有不受主时间线控制的特点,整个loading呈现的是不停闪烁的文字“loading…”的画面。我们分析一下这条语句。
第一帧:
IfFrameLoaded(3){ //假如加载完第三帧,执行大括号里面的语句
GotoAndPlay(3);
} //转到并播放第三帧。
第二帧:
gotoAndPlay(1); //转到并播放第一帧。
也就是说从第一帧到第二帧是一个小的循环。假如第一帧没有加载完,时间先就到了第二帧,第二帧的语句是gotoAndPlay(1),所有时间线又回到第一帧播放。循环几次以后,当ifFrameLoaded判定已经加载完动画以后,就执行gotoAndPlay(3)去播放。
这个语句的缺点是显而易见的。它的判定是根据动画中的帧的多少来进行的。我们知道,动画中的帧大小是不一样的,要害帧就要比延长帧大。这样,你就无法准确的判定欲加载的帧数是否适合网络带宽。这也是这个语句的弊病。再有,此语句其实就是一个判定语句,在flash MX中可以用if来完成。 www.jc567.cn
第三种:_framesloaded语句
在Flash MX中,用_framesloaded来替代ifFrameLoaded。我们来看看它的用法。
_framesloaded语句是影片剪辑的属性,在properties集合中。我们来用它来判定我们的预加载帧数。下面我们用它来作一个简单Loading
1 打开Flash MX,新建文件,文档属性默认。
2 利用上面的例子做出影片剪辑Loading。
3 回到主场景,把影片剪辑放到第1层,并延长到第2帧。
4 新建一层,命名为as层,在第2帧加入要害帧。并加入as.如下:
if(_framesloaded>=3){
gotoAndStop(3);
}else{
gotoAndPlay(1);
}
5 新建第三层。命名图片层。在第三帧插入要害帧,导入一幅图片。
6完成!请参看源文件framesloaded。
解释一下语句的含义:
if(_framesloaded>=3){ //假如(if)影片加载的帧数大于或等于第三帧的化,执行下面大括号里面的语句。
gotoAndStop(3); //上面条件成立,则转到并停止在当前场景的第三帧。
}else{ //假如上面的条件不成立,则执行else下面的语句
gotoAndPlay(1);//假如条件不成立,则执行转到并播放当前场景的第一帧。(循环,直到条件成立)
}
上面用到了一个条件语句(if)假如大家熟悉条件语句的化,就很轻易明白。
jc567.cn