Adobe Flash 基本原理

以 Adobe flash cs 4 为例来说明。   flash中最主要的文件就是.fla文件了, 我们在创作工具里面所做的任何操作都会被保存在这个文件中。 在发布的时候, 会将fla文件编译成swf文件,最后, flash player 或者 air 加载swf文件到内存中来播放。

     那么, 我们所要做的主要事情就是如何通过ide操作fla文件,来产生能满足我们需求的fla文件了。

    首先,fla文件中包含了如下东西。

    一个fla文件就好像是一部电影,我们实际上也能够看到,最好fla的确是生成了swf格式的影片。 它包括一个舞台,也就是我们在编辑器里面所看到的那个白色的方块块,这个舞台有一个对应的时钟(也就是我们所说主时间轴),这个时钟规定了这个舞台上的动作,当这个时钟开始时,舞台上的一切就开始动起来了,当这个时钟停止时,舞台上的一切都停下来,变成静止的了,也就是说主时间轴控制了舞台是如何运动的。 在这个舞台上,还有很多层透明的图层,每一个图层上都有各种的演员(也就是我们所说的元件对象),所有这些图层都共用一个时间轴,也就是主时间轴,时间轴有很多的帧, 一个帧就是这个时间段的一个瞬间,cs 4  是很聪明的, 一般, 我们只需要告诉cs 4  2 个具体瞬间某个图层上是什么样子的 ,然后, 我们就可以让cs 4 根据这2个瞬间 推算出这2个瞬间之间 的各个瞬间这个图层上 分别是什么样子 ,这就叫 创建补间动画。   我们 在做动画的时候, 通常也是这么做的, 如果我们必须定义每个瞬间 图层是什么样子的, 那我们岂不是要被累死呀。   

       因为有时候, 我们需要制作的 动画可能很繁杂, 如果 把这么多很杂的东西全部放在一个舞台上来表演, 我们自己都会分不清谁是谁了, 更加别说控制他们让他们来表演了。   所以, 在flash 里面, 我们在不能让演员直接在舞台上表演,而是在舞台上面在搭建很多层透明的图层, 让演员在这些透明的图层上来表演, 这样,当我们从上向下看的时候,就可以看到完整的表演了。

           当然,在具体的操作的时候,我们可能会专门搭建一个图层,在这个图层上我们不放演员,而只是画上几条线, 让其它层的演员在表演的时候沿着这些线运动,那么用作这个用途的层我们就成为引导图层,因为它就是用来引导其它图层上的演员的运动的,引导图层本身只是一个很普通的图层,只是我们人为的把它作为引导这个用途,所以这么称呼它了。

     

        我们在实际操作的时候, 只要负责安排好在某个瞬间,各个图层上是什么样子就行了。我们还可以在某个瞬间通过as脚本来定义 各个图层上的演员(也就是元件实例)的动作,这样当时间轴运行到该瞬间的时候,这些脚本就会执行了,这就会带来一些交互性的动画了。

      上面介绍的知识一个一般情况,还有一个 很重要的一个概念就是, 在我们的图层上的元件实例所对应的元件中是可以嵌套其它元件实例的, 例如,对于图层上的一个movieclip实例,它也具有自己的时间轴,主时间轴上的图层上面的元件实例的时间轴控制的是该元件实例内部的运动,而且这种运动是一种相对运动,也就是说,这种运动是假设该元件实例为静止时,元件实例内部的运动情况。 举个例子: 现在在主时间轴的某个图层上有一个汽车(没有车轮)的影片剪辑实例,该影片剪辑实例按照主时间轴向前运动。 该汽车影片剪辑元件内部,定义了2个车轮的影片剪辑实例,而且, 沿着时间轴旋转。这样,当动画播放时,我们会看到汽车一边前进,车轮一般旋转。

     也就是说,图层上的元件的时间轴时间上控制的是元件内部的相对运动, 即假设该元件静止时候的运动情况,当播放时,则将内部的运动和元件本身的运动叠加,产生元件一般运动,元件内部的元件对象一边运动的情况了。  

 

   上面介绍的只是拍电影过程中的一个sense,也就是一个场景。 什么是场景呢, 看过电影的人都知道,电影所介绍的故事不是始终在一个地方发生的, 它由很多在不同的地点发生的故事组成的, 每个地点发生的故事就是一个场景。 所以, 在flash中, 也是一样的, 我们所新建的一个fla文件就对应一个场景, 如果动画短, 用一个fla文件(也就是一个场景)就足够了,但是,如果我们要做的故事很长, 我们就可能需要分成不同的场景了。 使用场景类似于使用几个 FLA 文件一起创建一个较大的演示文稿。 每个场景都有一个时间轴。 文档中的帧都是按场景顺序连续编号的。例如,如果文档包含两个场景,每个场景有十帧,则场景 2 中的帧的编号为 11 到 20。文档中的各个场景将按照“ 场景” 面板中所列的顺序进行播放。当播放头到达一个场景的最后一帧时,播放头将前进到下一个场景。

 

 

 

   在flash中,as脚本的存放的原则是集中存放,便于管理。存放位置通常有3个,一个是将所有的as脚本放在一个单独的.as文件,然后在fla文件的类属性中指向该as文件中所定义的类;一个是在fla文件的主时间轴的第一帧上,在第一个图层上放所有的as脚本,如果脚本很多可以在主时间轴的第二帧处的第二个图层上增加其它的as脚本; 除非迫不得已,否则不要将as脚本写在组件或者实例对象上。

 

 

 

   

     

 

     

 

 

 

 

 

 

     

      

 

 

 

也 我们可以只告诉cs 4,      我们可以先选择一个图层,然后在时间轴上选择一个关键帧,

你可能感兴趣的:(Adobe Flash 基本原理)