ActionScript是原Macromedia公司(后并入Adobe)为其Flash产品开发的一种基于ECMAScript的面向对象编程语言。ActionScript可用于网页制作、Adobe Flash动画和RIA应用程序的开发。
ActionScript和JavaScript均基于ECMAScript语法,因而拥有类似的语法。理论上它们互相可以很流畅地从一种语言翻译到另一种。不过JavaScript的文档对象模型是以浏览器窗口、文档和表单为主的,ActionScript的文档对象模型则以SWF格式动画为主,可包括动画、音频、文字和事件处理。
ActionScript 开发时可借由导入 ANE 作为跨平台使用;并且官方公布之认证Starling (基于OPGL协议)开放框架,可使用GPU高速绘图,而非传统的CPU运算功能。
ActionScript 首次出现于Flash 5并实现了在Flash内编程。这个版本被命名为ActionScript 1.0。Flash 6通过增加大量的内置函数和对动画元素更好的编程控制更进一步增强了编程环境的功能。Flash 7(MX 2004)引进了ActionScript 2.0,它增加了强类型和面向对象特征,如显式类声明、继承、接口和严格数据类型。ActionScript 1.0 和 2.0 使用相同的编译形式编译成Flash SWF文件。
在ActionScript 2.0里,函数馆对象(如视频片段、按钮)可与类联系在一起。类可写在外在文档文件内,并且这些文件必须有.as后缀。类是增设部分──对ActionScrip语言来说,可让程序员自行开发,虽然有许多内置类譬如MovieClip类──可被用来动态地在屏幕上画出向量──已经满足需求了。类文件可使编程更加容易,并且类文件如果需要的话可在许多项目间转移。
Flash ActionScript实现的特点如下,JavaScript程序员也许感兴趣:
ActionScript代码常常直接写在Flash开发环境。该环境提供参考、代码提示和句法强调。原代码常常与电影一起存在.fla文件里。自外部文档文件透过#include语法导入ActionScript代码也相当常见。在这种情况下,外部文件也许被Flash集成开发环境内置编译器,或Motion Twin ActionScript2编译器(MTASC)编译。
下面打印Hello World。值得注意的是这只能在集成环境下运行,因为trace函数只有支持集成环境。
trace("Hello world!");