标题：Action script
定义
运用在flash上的脚本语言。  ActionScript开发工具[1]
使用
ActionScript 动作脚本 是遵循 ECMAscript第四版 的 Adobe Flash Player运行时环境的编程语言。它在 Flash 内容和应用程序中实现交互性、数据处理、以及其他功能。[2]
* ActionScript 是由 Flash Player 地方gtr和中的 ActionScript虚拟机（AVM）来执行。
* ActionScript代码通常被编译成“字节码格式”。
* ActionScript 的主要 IDE 是 Adobe 公司的 Flash Builder，最新版本 4.7。
* ActionScript CS3(2007)后为更新为ActionScript 3，语言的系统结构完全改变，支持即时编译，语言功能增强速度。
发展
从macromedia大刀阔斧对As1.0进行改革到AS2.0,这一段过程看上去还算长一些，从flashmx到flash mx2004到flash 7.2再到flash8. 它们的核心actionscript都是as2.0.在flash8刚刚发布不长时间，macromedia又紧罗密鼓的推出了flash9预览版，大家都已经知道了Adobe发布的预览版可以对AS3.0进行编译，而As3.0经过测试它的速度可以说要比之前的as2.0快10倍．拿着as3.0与As2.0相对比，虽然有些东西看着面熟，但它看上去就象是重写的一种新语言一样．还有随之推出的adobe的Flex 2.0 builder. Flex sdk.让许多人一时不知所措
· Flash Player2：第一个支持脚本的版本，包括控制时间轴的gotoAndPlay, gotoAndStop, nextFrame和nextScene等动作。
· Flash Player 3：增强了载入外部SWF文件的基本脚本支持（loadMovie）。
· Flash Player 4：第一个完全实现脚本功能（称为动作）的播放器。这些脚本拥有简练的语法和对循环，条件，变量和其它基本语言结构的支持。
· Flash Player 5：第一个拥有真正意义上的ActionScript的版本。依据ECMAScript并采用基于原型编程，并允许完全的 过程序编程和面向对象编程。
· Flash Player 6：增加了事件处理模型，并且支持switch。
· Flash Player 7：Flash Player 7 提供一些新特性如支持CSS显示文本和增强显示效果。 Macromedia Flash编译器和Flash Player 7同时支持基于ECMAScript 4 Netscape Proposal的类编程语言ActionScript 2.0。不过ActionScript 2.0能交叉编译成ActionScript 1.0的字节码，因此它能运行于Flash Player 6。
· Flash Player 8：增加用于运行时图象数据控制和文件上传的新类库及APIs，ActionScript 2.0功能更为完善。
· Flash Player 8.5（计划于2006春发布release版本，currently in public beta）：增加ActionScript 3.0和一个称为AVM2(ActionScript Virtual Machine 2)新的虚拟机，它可以与前版本AVM1共存以便支持旧内容。增强性能是该版本的主要目标。
· Flash Player 9 2007发表，这是adobe收购Macromedia后的第一个版本，并且也是Mac OS X上第一个Universal版本的Flash Player。
· Flash Player 10
基本记法
ActionScript 2.0 
下面打印Hello World。值得注意的是这只能在整合环境下执行，因为trace函式只有支持整合环境。
trace("Hello world!");
下面代码利用onMouseMove事件当鼠标移动时输出现行鼠标位置。同样的这只有在整合环境下执行。
onMouseMove = function () {
trace("X: "+_root._xmouse);
trace("Y: "+_root._ymouse);
};
这个较先进的范例创造一个包括数字与字符串的数组，并利用原形函式（prototype function）与函式递归给变量名num指定一个数，给变量str指定一个字符串。然后，利用MovieClip应用程序接口，文字区域被显示在屏幕上，文字区域里头写入了变量值。
var my_Array:Array = new Array("Hello", "ActionScript", 3, 7, 11, "Flash");
Array.prototype.pickNumber = function():Number {
var rand:Number = random(this.length);
return (typeof (this[rand]) == "number") ? this[rand] : this.pickNumber();
};
Array.prototype.pickString = function():String {
var rand:Number = random(this.length);
return (typeof (this[rand]) == "string") ? this[rand] : this.pickString();
};
var num:Number = my_Array.pickNumber();
var str:String = my_Array.pickString();
_root.createTextField("txt", 1, 10, 10, 530, 390);
txt.text = "Array = "+my_Array+"\nRandom Number = "+num+"\nRandom String = "+str;
ActionScript 3.0 
下面先进的Hello World程序需要在Flex 2.0公开Alpha测试版整合环境中编译。
package {
import flash.text.TextField;
import flash.display.MovieClip;
import flash.filters.DropShadowFilter;
public class HelloWorld extends MovieClip {
public function HelloWorld() {
var shad:DropShadowFilter = new DropShadowFilter(2, 45, 0x000000, 25, 3, 3, 2, 2);
var txt:TextField = new TextField();
txt.textColor = 0xFFFFFF;
txt.filters = [shad];
txt.width = 120;
txt.x = Math.random()*300;
txt.y = Math.random()*300;
txt.selectable = false;
txt.text = "Hello World! ["+Math.round(txt.x)+","+Math.round(txt.y)+"]";
addChild(txt);
}
}
}
//-----ActionScript3.0----------------- //as3.0最重要的概念就是在效能方面的增进,平时所加入的任何事件都可以被监听或从内存中移除 //以下例子就是监听与移除内存占用,这是as3.0最重要的基础概念
bt1.addEventListener(MouseEvent.CLICK,bt1_click);
function bt1_click(e:MouseEvent):void{ //触发的事件内容; }
//该按纽监听不需要时则remove掉，增加效能 bt1.removeEventListener(MouseEvent.CLICK,bt1_click);
相关术语
1.Actions (动作)：就是程序语句，它是actionscript脚本语言的灵魂和核心．
2.Events (事件)：简单的说，要执行某一个动作，必须提供一定的条件，如需要某一个事件对该动作进行的一种触发，那么这个触发功能的部分就是actionscript中的事件．
3.Class (类)：是一系列相互之间有联系的数据的集合，用来定义新的对象类型．
4.Constructor (构造器)：用于定义类的属性和方法的函数．
5.Expressions (表达式)：语句中能够产生一个值的任一部分．
6.Function.(函数)：指可以被传诵参数并能返回值的以及可重复使用的代码块．
7.Identifiers (标示符)：用于识别某个变量，属性，对象，函数或方法的名称．
8.Instances (实例):实例是属于某个类的对象,一个类的每一个实例都包含类的所有属性和方法.
9.Variable (变量):变量是储存任意数据类型的值的标示符.
10. Instancenames (实例名):是在脚本中指向影片剪辑实例的唯一名字.
11.Methods (方法):是指被指派给某一个对象的函数,一个函数被分配后,它可以作为这个对象的方法被调用.
12.Objects (对象):就是属性的集合.每个对象都有自己的名字和值,通过对象可以自由访问某一个类型的信息.
13.Property (特性):对象具有的独特属性.
Flash使用ActionScript给动画添加交互性。在简单动画中，Flash按顺序播放动画中的场景和帧，而在交互动画中，用户可以使用键盘或鼠标与动画交互。例如，可以单击动画中的按钮，然后跳转到动画的不同部分继续播放；可以移动动画中的对象；可以在表单中输入信息等等。使用ActionScript可以控制Flash动画中的对象，创建导航元素和交互元素，扩展Flash创作交互动画和网络应用的能力。