Flash高级知识学习:ActionScript扫盲

高级

  随着AS3规范的推出,很多Flash Developer也越来越想了解AS3,我的这篇文章应该可以在各位仔细观看AS3规范之前对ActionScript有一个扫盲级的了解,虽然是扫盲级,但是也不是类似于“hello!World”类型的文章,看了你就知道了。

  Action Script

  Action Script简称为AS,是Flash产品平台的脚本解释语言。该语言可以实现Flash中内容与内容,内容与用户之间的交互。AS的解释工作由Action Virtual Machine(AVM)来解释,AVM可以称之为AS虚拟机,类似于JVM,AVM是Flash Player播放器中的一部分。AS语句要想起作用是要通过Flash创作工具或Flex服务器将其编译生成2进制代码格式方可,而编译过的2进制代码格式将成为SWF文件中的一部分,被Flash播放器执行。AS1.0起源于ECMAScript标准,由于ECMA的语法的兼容性和Flash Player播放器的大小和渲染引擎的需要,AS可以称之为是语法来源于ECMAScript。

  说到AS不得不说Flash4的AS集合,它曾经让Flash4兼容格式的内容变化多端。但是从一定程度上,Flash4的AS不能称之为成熟的并且为开发者所承认的脚本语言集合。它的语法方式完全不同于ECMAScript。虽然我们可以在Flash5的时代可以向它添加一些ECMA效仿的语句上去,但是AS在Flash4中是完全于ECMAScript标准相左的。现在Flash4的AS仍然可以被应用在Flash Lite1.1的内容之上。

  AS1.0是从Flash5的时代诞生的,这时的版本就已经具备了ECMAScript标准的语法格式和语义解释。尽管后来的Flash Player5/6的播放器版本(Build)的一再更新,使得越来越多的ECMA语法和语义被纳入到AS1.0的API当中去,但是核心语言的编译处理及表现方式都是延续了Flash5的AS1.0的标准。甚至于到后来的Flash7,对于AS1.0的核心解释机制,仍然与Flash Player5有着很多相同之处。

  AS2.0是在MX时代被慢慢引入的,而在MX 2004版本被开发者全面采纳。AS2.0的运行则是完全在Flash Player6以上的版本中才具备的机制。AS2.0在Flash6中都可以运行,是因为AS2.0语句在运行时(runtime)环境下仍然采用了AS1.0的模型。这也是骨子里为什么AS2.0的运行性能并不比AS1.0优秀的重要原因。AS2.0的编写方式则是更加成熟,引入了面向对象编程的方式,并且有良好的类型声明,而且分离了运行时和编译时的异常处理。AS2在格式上遵从了ECMA4 Netscape的语言方案,但是并不是完全兼容ECMAScript标准。虽然基于AS2的开发方式从众多开发者眼中褒贬不一,但是不可否认的是,AS2为了AS3.0的诞生铺设了一条康庄大道。

  AS3.0的规范已经出来了,而AS3.0也是未来Flash开发脚本的核心。AS3的播放器只有从Flash Player 8.5以上版本开始支持,也就是我们现在用到的Flex 2.0 Beta才可以对AS3进行编译的工作。AS3有着很多不同之处,它将全面支持ECMA4的语言标准,意味着AS3将具有ECMAScript中的Package/命名空间namespace等多项AS2不具备的特点。AS3将全面支持E4X,也就是支持ECMAScrpit for XML的标准。AS3将采用全新的AVM来进行解释,与AS1/2的AVM将完全不同。此外AS3的编译器也是完全和AS2的编译器有所不同。此外,AS3的API将更加直观,会去除很多容易让人混淆的部分,添加对ECMA全面的兼容性,目的就是让基于AS3的内容更加快速与强壮。

  说了这么多,AS3到底包含什么细节。去Spec里挖掘一下,然后先用Flex Builder 2体验一下吧。

时间: 2024-11-27 15:20:05

Flash高级知识学习:ActionScript扫盲的相关文章

Flash高级知识:用自定义类实现动画控制

高级|控制    这是高新技术等级考试Flash复习题中的一个问题,我在制作效果时没完全按照原题去做,主要是大家通过这个实例学会"用自定义类实现动画控制"的一些方法就行了.一.定义类在文本编辑器中输入以下的类定义代码,保存为:人.as  class 人 {  //属性定义  var 速度:Number = 1;  private var Personso:Sound;  public function 人(){   Personso = new Sound();  }  //移动MC的

MyBatis高级映射学习教程_java

对mybatis基础入门不太清楚的朋友可以参考下本篇文章:MyBatis入门学习教程(一)-MyBatis快速入门. 认识MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github. iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架

HTML基础知识学习笔记

毕业也快一年,一直从事网络推广工作,工作中经常接触到HTML代码,虽然大学里学过一些,但是自己仍然对HTML基础知识不够顽固,对于HTML没有系统性的概念.在这几天的HTML基础知识学习当中,主要有以下几点感悟. 1.看似熟悉,具体用法不懂 对于HTML基础知识,只能说大部分都是认识,知道代码是什么意思,可是详细的细分,具体代码怎么用,自己有不知道,对一些标记的属性根本不知道.比如说基本蚊子标记符<SUB>下角标和<SUP>上角标,网页标记<meta>网页的语言,之前的

展讯NAND Flash高级教程【转】

转自:http://wenku.baidu.com/view/d236e6727fd5360cba1adb9e.html 展讯NAND Flash高级教程

Flash AS高级知识:深入了解Function

高级 作者的Blog:www.kingda.org Function究竟是什么? 我们习惯了function的存在,就像习惯了我们呼吸的空气却不去探究它的本质.看起来,似乎function和Number, Boolean, String一样都是ActionScript本来就有的类型. 先看以下代码: trace (aFunc);     //输出:[type Function]trace (aFunc instanceof Function); //输出:truetrace (aFunc ins

Flash高级学习:使用Flex开发个人Blog

高级 全屏观看

Flash高级应用知识查询搜索引擎关键字位置的代码

高级|关键字|搜索引擎 //制作蚁伐 yifa2008@hotmail.com 可以任意修改使用  //最后更新 2005-11-9 //2005-11-9 将yisou调整为yahoo中国搜索(yahoo中国策略改变,yisou谢幕) //2005-9-24 修正包括baidu推广的排名位置  fscommand("allowscale",false); var keyw_s:String;//原始关键字 var keyw:Array=["","&quo

HTML基础知识学习:标签属性和元素

html基础    尽管HTML的基础是纯文本,但我们还是需要多一些东西才能使纯文本文件变成合法的HTML文件. 标签 HTML基本的构成包含标签,标签围绕着内容,赋予内容某些意义. 按照下面改进你的文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> &l

Javascript闭包(Closure)知识学习

闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 下面就是我的学习笔记,对于Javascript初学者应该是很有用的. 一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量. var n=999; function f1(){ alert(n); } f1(); // 999 另一方面,在函数外