知识点拓展
❶Action Script 3.0和Action Script 2.0
(1)Action Script的发展
Action Script是一种基于ECMA Script的编程语言,用来编写Adobe Flash电影和应用程序。Action Script 1.0最初随Flash 5一起发布,这是第一个完全可编程的版本。Flash 6增加了几个内置函数,允许通过程序更好地控制动画元素。在Flash 7中引入了Action Script 2.0,这是一种强类型的语言,支持基于类的编程特性,如继承、接口和严格的数据类型。Flash 8进一步扩展了Action Script 2.0,添加了新的类库以及用于在运行时控制位图数据和文件上传的API。Flash Player中内置的Action Script Virtual Machine(AVM1)执行Action Script。通过使用新的虚拟机Action Script Virtual Machine(AVM2), Flash 9以后的版本(附带Action Script 3.0)大大提高了性能。
(2)Action Script的版本
Action Script的老版本(Action Script 1.0和Action Script 2.0)提供了创建效果丰富的Web应用程序所需的功能和灵活性。Action Script 3.0现在为基于Web的应用程序提供了更多的可能性。它进一步增强了这种语言,提供了出色的性能,简化了开发的过程,因此更适合高度复杂的Web应用程序和大数据集。Action Script 3.0可以为以Flash Player为目标的内容和应用程序提供高性能和开发效率。Action Script 3.0是一种强大的面向对象编程语言,它标志着Flash Player Runtime演化过程中的一个重要阶段。设计Action Script 3.0的意图是创建一种适合快速地构建效果丰富的互联网应用程序的语言,这种应用程序已经成为Web体验的重要部分。
Action Script 3.0有一个全新的虚拟机,在回放时可以执行Action Script的底层软件。Action Script 1.0和Action Script 2.0都使用AVM1(Action Script虚拟机1),因此他们在需要回放时本质上是相同的。虽然Action Script 2.0增加了强制变量类型和新的类语法,但它实际上在最终编译时变成了Action Script 1.0,而Action Script 3.0运行在AVM2上,是一种新的专门针对Action Script 3.0代码的虚拟机。因此,Action Script 3.0动画不能直接与Action Script 1.0和Action Script 2.0动画通信,因为它们用的不是相同的虚拟机。
(3)Action Script版本之间的区别
Action Script 3.0版本和以前的版本相比,有很大的区别:它需要一个全新的虚拟机来运行,在Flash Player中的回放速度要比Action Script 2.0代码快10倍,在早期的版本中有些并不复杂的任务在Action Script 3.0中的代码长度会是原来的两倍长,但是最终会获得高速和高效率。
对于习惯使用Action Script 1.0和Action Script 2.0的用户来说可能会有一些不适应,例如,在Action Script 3.0中不能直接给“按钮”赋予动作等,用户可根据自己的习惯选择使用,Flash CS4版本提供两种代码模式供用户选择。
❷像素
“像素”(Pixel)是由Picture(图像)和Element(元素)这两个单词的字母组成,是用来计算数码影像的一种单位,如同摄影的相片一样,数码影像也具有连续性的浓淡阶调,我们若把影像放大数倍,就会发现这些连续色调其实是由许多色彩相近的小方格所组成,这些小方格就是构成影像的最小单位“像素”(Pixel)。这种最小的图形的单元能在屏幕上显示通常是单个的染色点,越高位的“像素”,其拥有的色板也就越丰富,越能表达颜色的真实感,一个“像素”通常被视为图像的最小的完整采样,如图1-24所示。
图1-24 像素图
❸位图和矢量图
“位图”(bitmap),也可称作“点阵图”、“栅格图像”、“像素图”,简单地说,就是最小单位由像素构成的图,缩放会失真。构成“位图”的最小单位是像素,“位图”就是由像素阵列的排列来实现其显示效果的,每个像素有自己的颜色信息,在对“位图”图像进行编辑操作的时候,可操作的对象是每个像素,我们可以改变图像的色相、饱和度、明度,从而改变图像的显示效果。例如,“位图”图像就好比在巨大的沙盘上画好的画,当你从远处看的时候,画面细腻多彩,但是当你靠得非常近的时候,你就能看到组成画面的每粒沙子以及每个沙粒单纯的不可变化颜色。
“矢量图”(vector),也称作“向量图”,简单地说,就是缩放不失真的图像格式。“矢量图”是通过多个对象的组合生成的,对其中的每一个对象的记录方式,都是以数学函数来实现的,也就是说,“矢量图”实际上并不是像“位图”那样记录画面上每一点的信息,而是记录了元素形状及颜色的算法,当你打开一幅矢量图的时候,软件对图形对应的函数进行运算,将运算结果(图形的形状和颜色)显示出来。无论显示画面是大还是小,画面上的对象对应的算法不变,所以,即使对画面进行多倍数的缩放,其显示效果仍然相同(不失真)。举例来说,“矢量图”就好比画在质量非常好的橡胶膜上的图,不管对橡胶膜怎样的长宽等比成倍拉伸,画面依然清晰,不管你离得多么近看,也不会看到图形的最小单位。
矢量图特别适于创建通过Internet提供的内容,因为它的文件非常小。Flash是通过广泛使用“矢量”图形做到这一点的。与“位图”图形相比,“矢量”图形需要的内存和存储空间小很多,因为它们是以数学公式而不是大型数据集来表示的。“位图”图形之所以更大,是因为图像中的每个像素都需要一组单独的数据来表示,如图1-25所示。
图1-25 矢量图与位图