ActionScript

开源公司:Macromedia

作品详情

软件名称
动作脚本语言
展开
软件版本
ActionScript3.0
展开
简称
AS
展开
开发商
展开
英文名称
Action script
展开
特点
面向对象
展开




1定义




运用在flash上的脚本语言。



2使用





ActionScript 动作脚本是遵循ECMAscript第四版 的Adobe Flash Player运行时环境的编程语言。它在 Flash 内容和应用程序中实现交互性、数据处理、以及其他功能。


* ActionScript 是由 Flash Player 地方gtr和其中的 ActionScript虚拟机(AVM)来执行。


* ActionScript代码通常被编译成“字节码格式”。


* ActionScript 的主要 IDE(集成开发环境) 是Adobe公司的 Flash Builder,最新版本 4.7。


* ActionScript CS3(2007)后为更新为ActionScript 3.0,语言的系统结构完全改变,支持即时编译,语言功能增强速度。




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);




4相关术语





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创作交互动画和网络应用的能力。



声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
Zoë 是一个用来为 SWF 文件生成动画精灵图片和帧数据的开源工具,使得 illustrators 可以维护一个 EaselJS 所需的动画工作流。 SWF 转换为 Sprite Sheets...
Flixel是一个完全开源的Flash游戏的开发框架,Flixel的哲学我挺欣赏的,它封装了Flash中和游戏相关的大部分内容,重新提供了 一套Flixel接口,方便程序的开发,提高了代码的统一...
软件以GPLv3发布,是一个flash制作的公式编辑器,可以架设到论坛或者博客上,方便用户发表公式,详细使用方法见README
htmlsprite 是一个 Flash 用来解析 HTML 文档的开发包。 示例代码: import com.redurban.HTMLSprite var htmlsprite:HTMLSp...
Starling 是在 Stage3D APIs 基础上开发的一种 ActionScript 3 2D 框架(可用于 Flash Player 11 和 Adobe AIR 3的桌面)。 Sta...
当前共56个项目

评论