本节书摘来自异步社区《Adobe Flash CS4 ActionScript 3.0中文版经典教程》一书中的ActionScript 3.0简介,作者: 【美】Adobe公司 更多章节内容可以访问云栖社区“异步社区”公众号查看。
在开始学习本书课程之前,最好花点时间了解一下ActionScript的历史以及Adobe ActionScript 3.0如何适用于Adobe Flash和Flash平台。
Flash和ActionScript的简要历史
自从Flash在1996年发布以来,Flash和ActionScript是同步发展的。当前,将Flash CS4所提供的设计和动画工具与ActionScript 3.0的高级交互功能相结合,它提供了功能更为强大、使用更为广泛的开发环境;但是,ActionScript仍然是Flash家庭的一部分。
在Flash的前3个版本中,没有编程工具,交互性也就是使用“动作”面板中的简单几个拖拉选项。这些动作允许导航到Flash时间轴和创建URL链接,仅此而已。
Flash 4是允许使用简单脚本语言来输入代码的第一个版本,称为ActionScript。在Flash 5中,ActionScript得到了更大的发展,并已经成为正式的官方脚本语言。自那以后,在每个版本的Flash中,ActionScript的功能都得到了增强,提供了对动画、文字、声音、视频、数据等的交互控制。在2003年,发布了ActionScript 2.0,它进入了面向对象语言(如Java和C#)的行列。在第4课中,你将学习到有关面向对象编程(OOP)的更多信息。
有些编程人员开始会对ActionScript作为编程工具更感兴趣,他们发现,ActionScript 2.0即使在功能上可以与其他语言相抗衡,但是其在性能上却没有竞争优势。这是因为每个版本的ActionScript都是建立在前一个版本的基础上,所有事情都要从最简单的开始。Flash Player最初并不是设计用来创建高性能的应用程序和游戏的,然而开发者使用它就是为了这些目的。显然,需要从头开始重新开发新版本的ActionScript。
在2006年,Adobe开发了ActionScript 3.0,在增加了一些新功能的同时,也极大地改善了性能。Flash CS3是Flash中第一个与 ActionScript 3.0结合在一起的版本,Flash CS4给ActionScript 3.0增添了更多新的功能,包括新的三维功能、新的动画控制和使用Adobe AIR的ActionScript类(参见第14课)。
ActionScript 3.0的新编程者
ActionScript提供了非常丰富的强大功能,但是要掌握这些功能需要深入学习。使用Flash的许多设计者和动画制作者通常会对学习ActionScript 3.0感到害怕,本书的大部分内容都是为有编程经验的人员所编写的。在刚开始学习的时候,需要一点耐心,当具有足够多的ActionScript知识时,就能够在Flash作品中添加更多交互式功能。
本书中的课程主要面向于有一点或者没有编程经验的设计者。了解一点有关ActionScript 1.0或2.0的知识当然是非常有用的,但是这不是完成这些课程所必需的。
完成这些课程之后,你将会熟悉ActionScript 3.0的语法。更重要的是,可以在现有的Flash中增添更多交互性工具。还可以使用Adobe Flash开发者中心(adobe.com/devnet/flash)和其他书籍或资源所提供的材料作为ActionScript教程基础。
ActionScript 1.0和2.0的用户
与ActionScript 1.0和2.0相对比,ActionScript 3.0有很多变化,即使是高级的ActionScript 1.0和ActionScript 2.0编程者也会对学习ActionScript 3.0感到有点困难。下面几个小节将介绍几个要点,使得你明白ActionScript所具有的优势值得你付出努力。
首先说坏消息
毫无疑问,ActionScript 3.0要比前几个版本更为复杂,这意味着,尤其是刚开始时,必须输入更多的代码才可以获得相同的结果。代价是,这样做速度会更快,但是初学者对于ActionScript还是觉得有点害怕。
此外,使用ActionScript 3.0所编写的Flash应用程序不能简单地与ActionScript早期版本的Flash文件集成在一起。这是因为在Flash Player 9及其更高版本中实际上有两个ActionScript播放器。
Flash Player包含ActionScript Virtual Machine1(AVM1),它可以播放使用ActionScript 1.0和ActionScript 2.0所创建的文件;Flash Player中还包含Virtual Machine 2(AVM2),它可以播放使用ActionScript 3.0所创建的文件。虽然在两个虚拟机之间可以进行文件通信,但是它们通信并不像相同版本AVM所创建的文件之间通信那么简单。在本书中,我们将重点讨论ActionScript 3.0,但是如果计划集成新的ActionScript 3.0项目到旧版本的Flash Web站点或应用中,应该首先深入学习Flash帮助中的资源,了解如何将ActionScript 3.0与旧版文件集成在一起。
接着是好消息
已经转换到ActionScript 3.0的ActionScript 1.0和ActionScript 2.0开发者,会非常感激该语言所提供的优势功能,尤其在以下几个方面。
播放Flash和ActionScript 3.0文件的格式
通常,在Flash中创建Web站点或应用程序意味着发布完成的工作文件——.SWF文件。该文件可以使用Flash Player来在浏览器中播放,这是Flash的最普通的应用。
Flash还提供了用于创建特定平台项目的选项。可以创建适合Macintosh或Windows平台的自运行的执行文件。
最近,Adobe引入了Adobe AIR技术,允许创建跨平台的桌面应用程序,可以运行在Macintosh、Windows或Linux平台上。Adobe AIR应用程序可以使用Flash CS4来创建;在第15课中,你将学习使用ActionScript 3.0来创建用来访问最终用户操作系统的桌面应用程序。
Flash和Flex
许多Flash用户听说过Adobe Flex,但是不能确定如何在开发过程中使用。Flash和Flex都是Adobe的商业软件。使用Flash和Flex都可以创建Flash Player可以播放的SWF文件,也可以创建单独的Adobe AIR应用。Flash和Flex都支持全部ActionScript 3.0语言,但是Flex更适合有编程开发背景的用户;Flash提供的一些工具和界面,更适合设计者和动画制作者使用。
本书主要介绍在Flash中如何使用ActionScript 3.0,但是所有这些概念和几乎所有代码也适用于Flex。
Flash时间轴中的ActionScript与外部的ActionScript文件
通常,Flash中的ActionScript都被放到时间轴的关键帧上。在Flash的早期版本中,ActionScript可以直接保存为一个对象,例如一个按钮或一个电影短片,但是在ActionScript中不允许这样。
不是将代码放到时间轴上,而是创建专用的ActionScript文件,它可用于任何Flash项目中。这是Flash中OOP的基础。
在本书的前几课中,可以将所有代码保存在Flash时间轴上。从第4课开始,将使用外部的ActionScript类文件,并开始学习利用OOP原则。
现在背景知识已经足够了……
让我们从第1课开始,学习使用ActionScript 3.0来导航Flash时间轴。