Loading制作全接触──基础版本

网络与通信

大家在制作Flash动画的时候,如果输出的文件比较大,那么在访问的时候可能会出现不连贯的情况,如果访问者等得没了耐心,那么你辛辛苦苦做的作品就Game Over了,因此,我们建议在作品的开头部分做一个Loading。所谓Loading就是一个装载影片的过程,同时给予访问者一定的提示信息,例如:影片正在下载,请稍等!当装载完成之后影片开始播放,这样作品就不会因网络连接速度而影响播放效果。
在影片中Loading其实是Timeline(时间线)前面的几个循环帧,它用来判断影片的装载进度,如果装载完成,那么便开始播放影片;如果未装载完,那么便循环显示Loading中的内容。经过长时间的技术更新,Flash已经升级到最新的MX版,而Loading也在不断变化,由最初的模拟Loading、假Loading发展到现在的精确显示Loading。这次我们就从简入繁步步深入地对Loading加以介绍,让大家对Loading有一个完整的了解。
光说不练达不到目的,我们首先来制作一个非常简单的基本Loading((图1))。

图1
图1

一、创建基本元素

运行Flash MX,建立新文件,首先要创建Loading的基本元素,比如进度条。选择Insert(插入)菜单下的New Symbol(建立新符号),在弹出的对话框中建立一个Graphic(图形)符号并命名为“进度条边框线”((图2))。

图2
图2

点击“OK”按扭进入符号工作区,选择工具栏的矩形工具绘制一个长方形,然后用光标工具将其框选起来。打开Info面板将X和Y的坐标均设置为“0”。如果你的工作区看不到Info面板,可以使用快捷方式“Ctrl+I”打开((图3))。
图3
图3

使用光标工具在长方型的中间位置点一下将其填充部分选中,按“Ctrl+X”剪切备用,选择Insert菜单下的New Symbol,建立一个Movie Clip并命名为“进度条”。点“OK”进入其工作区,按“Ctrl+V”粘贴,将我们刚才剪切下的填充部分拷贝进去,通过Info面板将它的X和Y的坐标设置为“0”。现在基本的元素已经创建完成,点击Timeline下方的“Scene 1”按钮返回主场景。
提示:由于进度条一般包含边框线和填充物两部分,而用矩形工具绘制图形,默认包含边线和填充两部分,而我们编辑Loading进度条的时候需要将它们做成两个互相独立的物件,而且大小要保持一致,因此使用剪切的方法最方便快捷。

二、编辑Loading

我们刚才建立的两个物件,一个进度条和进度条的边框线都保存在Library(库)面板中,我们用快捷方式“Ctrl+L”打开Library面板,我们刚才建立的两个符号都在其中,将“进度条边框线”拖入场景合适位置,然后在Layer Name(层名称)上点右键选择Properties(属性),在弹出的对话框中将本层命名为进度条边框线。完成后点击右侧锁定层按钮将本层锁定。
接着点击Timeline下方的添加层按钮建立一个新层,将Library面板中名称为“进度条”的符号拖入,并通过刚才的方法将本层命名为“进度条”。设置层的排列顺序,将进度条层处于进度条边框线层的下方。然后调整其位置使之与边框线的位置一致。
提示:改变层排列顺序的方法为:在需要调整层的层名称区域按鼠标左键上下拖动,直到合适位置;对于调整物件位置,可用光标键移动,如果不能达到要求可以打开Info面板直接输入X和Y的坐标值,这样可精确至像素级。
现在,我们来编辑进度条的动画效果。在进度条层的第10帧点右键选择Insert KeyFrame(插入关键帧),然后回到第1帧点右键选择Create Motion Tween(创建运动变化),这样Motion创建完成,但是由于第1帧与第10帧物件相同,所以看不出任何变化。我们所要制作的效果为进度条从左至右逐渐扩散,最后充满整个边框线,所以要调整第1帧的进度条使之缩到最小。在第一帧选择进度条,打开Info面板,将其中W:项的数值设为“1”然后按回车测试效果。完成后回到边框线所在层,在第10帧位置点右键选择Insert Frame(插入帧)这样就不会因为Timeline的播放而造成边框线丢失。
接下来我们编辑其他的部件。创建一个新层,选择文字工具输入“正在下载,请稍后...”几个字,调整位置,将其命名为“文字”然后锁定层。再次创建新层,使用文字工具输入“10%”,然后将此层命名为“百分比”,在百分比层的Timeline上拖动将10帧全部选中,点右键选择Convert to Keyframes(转换为关键帧),这样每帧都成为包含文字的关键帧,但文字内容都为 “10%”,我们需要逐帧修改。用文字工具将第2帧改为“20%”,这样依此类推直到第10帧为“100%”,现在可以按回车键测试一下,至此,你的Timeline形式大致应如(图4)所示。

图4
图4

三、添加Actions

基础工作已经完成,接下来就是要进行控制语句的编辑。这些控制Actions起到的作用就是判断影片是否装载完成,并根据装载情况来显示进度,在完成后进行影片的播放。首先建立一个新层,命名为“Actions”,然后在Actions层的Timeline上拖动将10帧全部选中,点右键选择Convert to Keyframes,这样每帧上都增加了关键帧,方便我们添加代码。但我们需要知道影片的总帧数才能编辑Actions,由于这是一个范例教程,我们假定为100帧。那么创建一个新层,命名为“Movie”,在第11帧点右键选择Insert Blank Keyframe(插入空白关键帧),然后在上面用绘图工具随便画写东西,或者通过File菜单下的Import命令导入一张图片,总之有东西就成。我们假定它为影片内容,然后在第100帧的位置点右键选择Insert Frame(插入帧)。
现在我们来编辑Actions,在Actions层的第1帧点右键选择Actions项打开脚本面板,选择Actions/Movie Control/Play命令((图5))。

图5
图5

第1帧的Actions控制为play();
编辑第2帧,同样方法打开Actions面板,选择Deprecated/Actions/ifFrameLoaded,面板会随之变化,在Frame:项输入“40”,接着选择Actions/Movie Control/goto,在Frame:项处输入“4”,代码为:
ifFrameLoaded (40) {
}
gotoAndPlay(4);
第3帧,选择Actions/Movie Control/goto命令,在Frame:项输入“2”,代码为gotoAndPlay(2)。这样依此类推,到第4帧的代码为ifFrameLoaded(60),gotoAndPlay(6),而第5帧则是gotoAndPlay(4)。
这里我们解释第2帧和第3帧,如果帧装载至第40帧,那么便跨过第3帧直接跳转至第4帧,而Loading进度条也显示为40%,而如果没有装载到40帧,那么继续向下播放到第3帧,而第3帧是一个返回代码,将动画返回到了第2帧,那么继续执行代码,直到动画装载到40帧为止,执行下一个循环。依次40;60;80;100,到第10帧的时候就装载至100%了,影片已经装载完成即开始播放。影片正式播放是从第11帧开始的,那么我们设置第10帧的Actions为gotoAndPlay(11)。
至此,一个原始的基本Loading就完成了,全部做完以后可以按“Ctrl+Enter”测试。这一个Loading虽然原始,不过在此基础上,我们在后面的文章中将把Loading制作得更加精确、全面,下期接着看哟!
提示:在“Ctrl+Enter”测试影片的时候由于文件在本地硬盘上,所以执行非常快,Loading效果还没有显示出来就完成了,而FlashMX也提供了模拟网络下载的环境,那就是按完“Ctrl+Enter”进入测试界面以后,再次按下“Ctrl+Enter”就切换入模拟网络下载环境。这里还有一个小秘密,先卖个关子,下次再告诉你:)