第三讲 逐帧动画    
 
  一、图层和帧
  首先介绍图层,使用过Flash MX的读者都知道,在Flash MX中,图层是用来调整位于该图层中对象的叠放顺序,从而是对象显示出不同的远近图层次和叠加效果的。但是在Flash MX中,我们可以使用一系列的调整对象排列顺序的工具对对象的排列顺序加以调整,因此图层并不常用。而在Flash MX中,如果位于同一图层对象有部分重叠的话,那么先绘制的对象的被重叠部分将会被删除,只保留后绘制对象的相应部分。因此,在Flash MX中,如果需要将不同对象重叠在一起并且对之进行排序的话,就必须使用到图层。
  注意:这里所讲的排序是指对重叠在一起对象的Z顺序进行排列。在Flash MX中,以水平向右作为X坐标轴的正方向,以垂直向上作为Y坐标轴的正方向,以垂直显示器平面向外作为Z坐标轴的正方向,因此,越排在前面的图层,其顺序标号越大。例如:在一个新建的Flash文件里面都会默认的创建一个Layer 1,这个图层将位于所有信件图层的最底部。
  我们如果需要对图层的排列顺序进行调整,那么可以按住并拖动需要的图层,然后将其拖放到适当的位置
  下面简单介绍一下Flash MX中与图层有关的一些操作。当前正在编辑的层上有一个铅笔形状的状态标识
  此外,在时间轴面板上有三个按钮:
  :显示/隐藏所有图层按钮。单击这个按钮,可以切换当前时间轴面板上的所有图层的显示和隐藏。如果我们只希望改变某一图层的显示隐藏状态,那么可以单击位于该按钮正下方对应该图层的黑点。
  :锁定/解锁所有图层按钮。单击锁定按钮可以将全部图层都锁定,位于被锁定图层中的对象不能被修改。如果需要将某一图层锁定或者解锁,那么可以单击位于该按钮正下方对应该图层的黑点。
  :显示所有图层的轮廓按钮。单击该按钮可以将所有图层上的对象都以其轮廓线加以显示,这样将不会显示它们的实际填充效果。如果单击任何一图层上面对应的显示图层轮廓按钮,那么该层中的所有对象将只能以轮廓线显示。这个按钮的作用是非常明显的,当上一图层的对象遮盖住位于下面其他图层中的对象时,可以使用该按钮将上面图层中的对象以轮廓线显示,这样就可以清楚地看到下面图层中的对象。
  在Flash中,帧拥有与电影中相同的概念,即指构成影片的每一个静止画面。考虑到Flash影片的场景变化不及电影复杂迅速,在默认的情况下,Flash采用了每秒12帧的帧频。我们如果对这个设定不满意,可以自行设定影片的帧频。方法是:单击属性面板上的Size(尺寸)按钮,这样就会弹出Document Properties(影片属性)对话框,通过使用这个对话框可以改变影片的属性。

  二、制作逐帧动画
  所谓逐帧动画就是开发者采用逐帧制作的方式制作出来的动画。实际上,更广泛的逐帧动画的定义应该是,动画的主体内容是以逐帧方式制作完成的。通常当所开发动画的主体内容动作比较复杂时,无法使用Flash内置动作实现,因此就必须采用逐帧制作的方法开发。下面就以一个完全使用逐帧方法制作的Flash动画为例介绍如何使用Flash开发逐帧动画。
  (1)绘制整个动画的背景。在文档的Layer 1中,通过适当的使用简单的几何线条和图形,为整个故事创建场景。整个画面将使用直线分割画面,将其分割成几个部分,以免画面看上去空洞无物。这样的做法还有利于将欣赏者的注意力集中在限定的区域内。通过使用主要由矩形、圆形和折线构成的窗户、门和楼梯及平台等装饰元素,避免了分割后空间的空洞和单调,使整个画面看上去有了一定的内容,简单的交待了故事发生的场景。下面简单介绍一下如何绘制这几个装饰元素。
  首先使用直线工具将舞台分割为几个独立的空间。接下来开始绘制窗户。窗户的绘制比较简单,只需要使用矩形工具在适当的位置绘制几个形状合适的矩形,然后使用指针工具将这几个矩形移动到合适的位置,并使用直线工具在水平居中的位置绘制一条直线,这样就可以完成了。需要注意的是,在完成窗户的绘制以后,使用指针工具选中窗户,然后选择Insert菜单中的Convert to Symbol(转化为元件)选项,或者使用快捷键F8,将其转化为图像元件。使用库面板为元件创建实例,并将实例放置在适当的位置。
  下面可以使用同样的方法绘制门。这里,为了绘制出门上部的半圆形,可以采用如下的方法:首先使用椭圆工具在舞台的空白位置画一个圆,然后选择Window菜单中的Info选项,或者使用快捷键Ctrl +I打开Info面板,在其中查看圆的宽度(也就是圆的直径)。再使用矩形工具绘制一个矩形,并使用Info面板修改矩形的宽度,使其与圆的宽度一致,接下来使用指针工具将矩形移动到与圆接触的位置,并使矩形的上边与圆的水平直径重合,矩形的上边把圆分割成两个半圆,使用指针工具选中下面的半圆,并将其删除。这样就形成了门的外边框。接下来使用直线将门分割为左右两个对称的部分,并使用圆和直线绘制门环,就完成了门的绘制。只需要按照前面介绍的方法,将门的全部组件选中并转化为元件,再使用Library面板将该元件的实例插入到舞台的适当位置就完成了门的绘制。
  接下来绘制楼梯及平台。这里主要使用矩形和直线。首先,在舞台的空白处绘制一条很短的水平直线,选择这条直线并将其复制,接下来将其粘贴在舞台上。这样舞台上就有两条长度相同的直线,选中其中的一条,并使用Transform面板将其旋转90度,这样可以得到一条垂直直线,使用指针工具将这条垂直直线移动到其上端结点与水平直线左端结点重合的位置,选中这两条直线,使用快捷键F8,将其转化为元件。接下来使用库面板在舞台上创建若干该元件的实例,并将其按照楼梯的形状排列好。选中所有的实例,选择Modify菜单中的Group选项,或者使用快捷键Ctrl + G将其组合在以其。这样就完成了楼梯的绘制。
  接下来使用矩形工具绘制一个细长的长方形作为平台的支柱,使用直线工具绘制平台的地面,并将楼梯封闭起来。
  下面使用矩形工具绘制一个小的正方形,使用次选取工具选择该正方形的左上结点,并使用键盘上的方向键将其向左移动几个像素,将右上结点向右移动同样的像素。选中这个等腰梯形,并将其复制粘贴到舞台上,使用Transform面板将复制品旋转180度,调整两者之间的垂直高度,并使用Align面板将其按左对齐。再次使用矩形工具在两者之间绘制一个可以与两个梯形相接的矩形,然后选择这三个几何图形,使用快捷键F8将其转化为元件,并使用Library面板在舞台上创建若干该元件的实例。选中这些实例调整好最左侧实例和最右侧实例间距离,使其可以分布在平台上又留有适当的空白,使用Align面板将其按顶对齐,并将这些元件按左侧分布。使用Ctrl + G将这些元件组合起来,移动到平台上与平台的适当位置。最后使用矩形工具绘制一个细长的矩形,作为平台的扶手栏杆,这样楼台及平台的绘制就完成了。
  (2)在时间轴面板上创建新的一层Layer 2,并将Layer 1锁定,这样可以防止绘制过程中对背景的影响。在时间轴面板上选择Layer 2,这样就可以在Layer 2中创建动画主体的动作了。
  在Insert菜单中选择New Symbol选项,或者使用快捷键F8,这样就会创建一个新的空白元件,可以在文档窗口中看到当前文档窗口已经切换到对元件编辑模式中,
  在这个窗口中,使用圆形和钢笔工具绘制一个简笔画的小人。推出元件编辑模式,然后使用库面板将其添加到舞台中。在这里必须要注意的就是人物与景物的比例,以及人物自身各个部位的比例,初学者可以通过反复的常识找到比较合适的比例。例如,在这个例子里面,人不可能比门还要高,另外,身体四肢和头的比例也要合适,这样看起来才比较舒服。
  接下来可以采用相同的方法绘制作为敌人的几个人物,这里可以使用不同的颜色来标识不同的敌人,以免在两个人物在打斗时由于身体部位的接触而分辨不清。
  接下来,在时间轴面板上Layer 1的所对应为位置上,按住Shift键并单击第1帧和第40帧,这样就可以选中全部40帧,在选定帧上的任意位置单击鼠标右键,在弹出的快捷菜单中选择Insert KeyFrame(插入关键帧)选项,或者使用快捷键F6,这样就可以在后面的40帧中都显示统一背景。然后在Layer 2 对应第2帧位置上单击鼠标右键并在弹出的快捷菜单中选择Insert KeyFrame选项,插入关键帧。
  在Layer 2的第2帧中,需要改变人物的位置和动作,以便形成动态效果。这里并不需要改变每个人物的位置和动作(当然也可以这样做),只需要改变任意两个人物的动作或位置就可以营造出运动的效果。在这里短片里面,设定左下角的人物为A组,其他人物为B组,情节就是A组与B组人物的格斗。这样就可以开始对人物动作的设计和制作了。
  首先需要让人物动起来。在第2帧里面,首先选中左下角的A,然后选择Modify菜单中的Break Apart选项或者使用快捷键Ctrl + B将其打散,这样就可以解除其与元件之间的关系,从而可以对其姿势进行修改。这里需要考虑到动作的流畅性和真实程度,按照正常人行走的形态安排动画的姿势。使用同样的方法可以改变另一个人物(称为B1)的姿势。这样,Layer 2的第二帧就做好了,
  下面在Layer 2第3帧中插入关键帧,可以看到,第3帧中的A和B1的姿势与第二帧中相同,而其他人物的姿势不变。下面继续改变这两个人物的姿势,以便实现连续的动作。这时一定要做到两者姿势与前一帧中的变化不要太大,以免造成动作不连贯的效果。例如,在改变A的姿势时,一定要注意,其与地面接触的脚的位置不应该改变,这时可以使用时间轴上的Onion Skin(绘图纸外观)按钮,将位于不同帧中的对象显示在当前帧中,这个工具的作用与Flash MX中的Onion Skin工具的作用完全相同,使用过Flash MX的读者更加容易了解此此工具的作用。
  这样在第3帧中,继续改变人物的姿势,只要这样一直做下去,就可以完成这个逐帧动画的制作,但是事实上,不可能在这里将这个动画的每一帧的制作都进行详细讲解。因为即使是一个仅仅十秒的动画,以12fps的帧频的标准动画为例,那么就需要绘制120帧。

  三、影片的发布
  在完成这个逐帧动画的制作以后,需要将其发布为便于在网络上流传的格式,前面已经介绍过,Flash影片的标准发布格式为SWF格式,在发布时,开发者可以对SWF文件的到处格式进行设定。选择File菜单中的Publish Settings选项,就可以在弹出的对话框中设置影片的发布设置。
  首先在可以选择文件的格式,我们可以根据需要选中格式名称前的复选框,这样就可以在发布时以选中格式发布,如果选中Flash和HTML,那么在发布时将自动在HTML页面中生成相关代码将生成的SWF文件嵌入页面中。如果我们选中Use default names(使用默认名称)复选框,那么发布的文件将以被发布文件源文件名称(即相应的FLA文件的名称)作为文件名,如果我们希望对发布后的影片单独命名,可以取消对Use default names复选框的选择,那么就可以在每个格式右侧对应的文本框中输入需要的文件名。
  下面仅对Flash格式和HTML格式进行介绍。
  Flash(.swf):选中该复选框以后,可以在对话框上看到以Flash作为标签的对话框分页,单击该标签,可以对导出的SWF文件进行设定. 在Version(版本)下拉列表框中,可以选择发布影片时所使用的播放器版本,通常,低版本的播放器无法支持新版本软件中加入的新功能,因此应尽量选择最新版本的播放器。但是,如果开发者确信影片中所使用的所有技术都能够被某个旧版本的播放器支持,那么也可以选择旧版本播放器,这样做的好处是可以照顾那些没有安装新版本浏览器的浏览者观看该影片。
  在Load Order(加载顺序)下拉列表框中可以选择Flash 加载影片各层并显示每一层对应的第一帧的顺序。选择“由下而上”,则加载影片时将从第1层开始加载每一层第1帧的内容;选择“由上而下”,则加载影片时将从最后一层开始加载每一层第1帧的内容。此选项控制着 Flash 在速度较慢的网络或调制解调器连接上先加载影片的哪些部分。
  选择Options(选项)选项组中的Generate size report(生成大小报告)选项可生成一个报告,按文件列出最终的 Flash 影片的数据量。这样将会在发布时生成一个“文件名+report.txt’”的文本文档,其中记录了影片中每一帧、每一个元件的大小等与文件有关的大小信息。这样开发者可以了解构成影片的每个对象的大小,从而便于控制整个影片的大小。
  选择Protect from import(保护导入)选项可防止其他人导入生成的 Flash 影片并将其转换回FLA文档。如果选择该选项,那么下面的Password(密码)文本框将会被激活,我们可以在其中输入保护密码,这样只有拥有密码的人才可以将影片转换回FLA文档。
  选择Omit Trace action(忽略跟踪动作)复选框会使 Flash 忽略当前影片中的跟踪动作 (trace),这样来自跟踪动作的信息就不会显示在“输出”窗口中。跟踪动作将会在介绍“输出”窗口时详细介绍。
  选择Debugging Permitted(允许调试)复选框,会激活调试器并允许远程调试 Flash 影片。如果选择该选项,可以选择用密码保护发布的Flash 影片。如果不输入密码,那么任何人都可以对影片进行调试。
  如果我们选择Compress Movie(压缩电影)复选框,那么可以压缩 Flash 影片,从而减小文件大小,缩短下载时间。当文件有大量的文本或动作脚本时,默认情况下会启用此选项,并且这时会对压缩文件大小产生的明显效果。但是,被压缩的影片只能在 Flash Player 6 中播放。
  JPEG(JPEG品质):如果在影片中插入了位图文件,那么可以使用JPEG品质滑块调整对位图文件的品质百分比。图像品质越低,生成的文件就越小;图像品质越高,生成的文件就越大。我们应该尝试不同的设置,以确定在文件大小和图像品质之间的最佳平衡点。该值设为 100 时图像品质最佳,但压缩比率也最少。
  Audio(音频流)选项,可以设定作为背景音乐的而插入的音频流的格式和相应的参数,如果我们需要选择不同的格式或者参数,可以单击右侧的set(设置)按钮,会弹出如下的对话框对话框。
  在Compression(压缩)下拉列表框中,可以选择音频流的压缩格式,我们可以根据需要自行选择,不过建议选择MP3,因为MP3格式拥有较高的压缩比和相对较好的音质。如果Preprocessing(预处理)选项的右侧Convert Stereo to Mono(转化立体声为单声)复选框会将混合立体声转换为单声。这个复选框只有在将下面的Bit Rate(位比率)设为20 Kbps或更高时才能被激活。Bit Rate决定导出的声音文件中每秒播放的位数,这个位数越高,导出声音的音质就越好,相应文件就越大。一般导出音乐时,需要将比特率设为 16 Kbps 或更高,以获得最佳效果。Quality(品质)下拉列表框中提供的选项可以确定压缩速度以及声音品质:“Fast(快速)”选项的压缩速度较快,但声音品质较低;“Best(最佳)”选项的压缩速度最慢,但是声音品质最高;“Medium(中)”选项的压缩速度和声音品质居于前两者之间。
  Audio Event(音频事件)音频时间在它的起始关键帧开始显示时播放,并独立于时间轴播放完整个声音,即使影片停止也继续播放。Audio Event需要设定的参数与Audio一样,我们可以参照上面的说明进行设置。
  如果我们选择Override sound settings(覆盖声音设置)复选框,那么将使用前面设定的音频流设置覆盖在属性检查器的声音部分中位哥哥声音选择的设置,如果如果需要创建一个较小的低保真度版本的影片,需要选择这个复选框。
  一切设置好以后,如果我们不希望立即发布影片,那么可以单击“确定”按钮保存设置。如果我们希望立即发布影片,那么可以单击Publish按钮,这样就可以将影片发布到源文件所在的文件夹中。

  练习
  (1)练习使用时间轴面板,包括创建新层,设置层的各项属性,在时间轴上插入帧等。
  (2)通过上网观看一些经典的Flash影片,结合书中介绍,增强对构成Flash影片诸多基本元素的认识。
  (3)发挥想像力,自行设计动作,完成本讲中未完成的影片。