- 浏览: 42626 次
- 性别:
- 来自: 西安
最新评论
本文介绍了ActionScript 3 相对于 ActionScript 2 有哪些新的特性和改动。并在文章的最后一步步的教大家如何利用 Flex Builder 来编译并运行第一个 AS3 程序。
语法方面的增强和改动:
引入了 package(包) 和 namespace(命名空间) 两个概念。其中 package 用来管理类定义,防止命名冲突,而 namespace 则用来控制程序属性方法的访问。
新增内置类型 int (32比特整数),uint(非负32比特整数),用来提速整数运算;
新增 * 类型标识,用来标识类型不确定的变量,通常在运行时变量类型无法确定时使用。在 AS2 中这种情况下需要用 Object 赖作为类型表识;
新增 is 和 as 两个运算符来进行类型检查。其中 is 代替 AS2 中的 instanceof 来查询类实例的继承关系,而 as 则是用来进行不抛错误的类型转换。
新增 in 运算符来查询某实例的属性或其prototype中是否存在指定名称的属性。
新增 for each 语句来循环操作 Array 及 Object实例。
新增 const 语句来声明常量。
新增 Bound Method 概念。当一个对象的方法被付值给另外一个函数变量时,此函数变量指向的是一个 Bound Method,以保证对象方法的作用域仍然维持在声明此方法的对象上。这相当于 AS2 中的 mx.util.Delegate 类,在 AS3 中这个功能完全内置在语言中,不需要额外写代码。
AS3 的方法声明中允许为参数指定默认值(实现可选参数)。
AS3 中方法如果声明返回值,则必须明确返回。
AS2 中表示方法没有返回值的 Void 标识,在 AS3 中变更为 void。 OOP方面的增强
通过类定义而生成的实例,在 AS3 中是属于 Sealed 类型,即其属性和方法无法在运行时修改。这部分属性在 AS2 中是通过类的 prototype 对象来存储,而在 AS3 中则通过被称为 Trait 的概念对象存储管理,无法通过程序控制。这种处理方式一方面减少了通过 prototype 继承链查找属性方法所耗费的时间(所有父类的实现方法和属性都会被直接复制到对应的子类的 Trait 中),另一方面也减少了内存占用量,因为不用动态的给每一个实例创建 hashtable 来存储变量。如果仍然希望使用 AS2 中类实例在运行时的动态特性,可以将类声明为 dynamic。
api方面的增强
新增 Display API,使 AS3 可以控制包括 Shape, Image, TextField, Sprite, MovieClip, Video, SimpleButton, Loader在内的大部分 DisplayList 渲染单位。这其中 Sprite 类可以简单理解为没有时间轴的 MovieClip,适合用来作为组件等不需要时间轴功能的子类的基础。而新版的 MovieClip 也比 AS2 多了对于 Scene(场景)和 Label(桢标签)的程序控制。另外,渲染单位的创建和销毁通过联合 new 操作符以及 addChild/removeChild 等方法实现,类似 attachMovie 的旧方法已被舍弃,同时以后也无须去处理深度值。
新增 DOM Event API,所有 在DisplayList 上的渲染单位都支持全新的三段式事件播放机制,以 Stage 为起点自上而下的播报事件到 target 对象(此过程称为 Capture Phase),然后播报事件给 target 对象(此过程称为 Target Phase),最后在自下而上的播报事件(此过程称为 Bubbling Phase)。
新增内置的 Regular Expressions (正则表达式)支持,使 AS3 能够高效地创建、比较和修改字符串,以及迅速地分析大量文本和数据以搜索、移除和替换文本模式。
新增 ECMAScript for XML (E4X) 支持。 E4X 是 AS3 中内置的 XML 处理语法。在 AS3 中 XML 成为内置类型,而之前的 AS2 版本 XML 的处理 api 转移到 flash.xml.* 包中,以保持向下兼容。
新增 Socket 类,允许读取和写入二进制数据,使通过 AS 来解析底层网络协议(比如 POP3, SMTP, IMAP, NNTP 等)成为可能,使 Flash Player 可以连接邮件服务器和新闻组。
新增 Proxy 类来替代在 AS2 中的 Object.__resolve 功能。
新增对于 Reflect (反射)的支持,相关方法在 flash.util.* 包中。 编写第一个 AS3 程序
编译 AS3 需要先安装 Flex Builder 2(目前唯一支持 AS3 的 IDE),从 Adobe Labs 上下在
最新版本的 Flex Builder
。然后一路 Next 安装成功之后,点击快捷方式启动 Flex Builder。(如图一)
图一 Flex Builder 2 启动画面
点选工具栏中的 New 按钮,从弹出的菜单中选择 ActionScript Project。(如图二)
图二 建立新的 ActionScript Project
在弹出的对话框中输入 helloworld 作为项目名称。然后按 Finish 确定。(如图三)
图三 输入项目详细信息
在新打开的 helloworld.as 文件中输入下列代码:(如图四)
图四 helloworld.as 代码内容
按 Ctrl+S 保存文件,然后从工具栏中点击 run 按钮运行程序。(如图五)
图五 运行程序
最终在浏览器中的运行效果如图六:
图六 helloworld 程序运行结果
参考资料
Adobe Labs 网站上有
关于 AS3 的最新介绍
。
ActionScript 3.0 Language Specification
中有关于 AS3 语言规范细节方面的信息。
下载
开源的 AS3 项目源代码
,包括 MD5 hash,UnitTest,JSON 解析等多个项目。
查看
关于 AS3 各方面的问答
。
编辑:卡其色
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1777.html
发表评论
-
基于Flash Media Server的Flash多人涂鸦白板
2010-04-10 13:15 730client_nc = new NetConnection() ... -
基于Flash Media Server的Flash多人涂鸦白板
2010-04-10 12:10 831client_nc = new NetConnection() ... -
利用NetStream类 onMetaData读Flv总时间
2010-04-10 12:10 1160在我写的 播放器 中利用onMetaData来获取FLV文件的 ... -
利用NetStream类 onMetaData读Flv总时间
2010-04-10 12:10 1114在我写的 播放器 中利用onMetaData来获取FLV文件的 ... -
FPlayer组件-flv视频播放组件第二版
2010-04-10 12:09 762[AS3]FPlayer组件-flv视频播放组件第二版 【组件 ... -
as3 使用sound类(翻译)-暂停和继续播放声音
2010-04-09 13:39 538[1b]问题十[/1b] 如何暂停声音,如何从暂停的地 ... -
ActionScript 3 相对于 ActionScript 2 新的特性和改动
2010-04-09 13:39 540本文介绍了ActionScript 3 相对于 Action ... -
一个针对AS3计算速度最简单的测试!
2010-04-09 13:39 959首先我们先说下结论,那就是速度相比提升了10倍... 程序 ... -
一个针对AS3计算速度最简单的测试!
2010-04-09 13:39 644首先我们先说下结论,那就是速度相比提升了10倍... 程序 ... -
【as3】ActionScript 3.0体验试教学视频教程
2010-04-09 10:44 594很不错的视频教程 原文地址: http://blog.sina ... -
as3 使用sound类(翻译)-暂停和继续播放声音
2010-04-09 10:44 565[1b]问题十[/1b] 如何暂停声音,如何从暂停的地 ... -
转换XML到Object----XMLToObject
2010-04-09 10:44 685这是WebService的解析响应数据类,负责转换xml到ob ... -
转换XML到Object----XMLToObject
2010-04-09 10:44 892这是WebService的解析响应数据类,负责转换xml到ob ... -
as3 DisplayObject关于深度的操作
2010-04-09 10:43 748z-index 的處理經常遇到的有三種情況, 先提兩種: 1) ... -
flash动画形变讨论二:低头
2010-04-08 11:02 378上次说了基本的形变,现在说下提示点,提示点是控制图形变化的基本 ... -
卡通娃娃360度转身动画
2010-04-08 11:02 523超人表情原创大赛正如火如荼的进行中,对于初哥可能就望钱兴叹了, ... -
指针随鼠标移动的flash卡通时钟
2010-04-08 11:01 534。先看下时钟效果: var fnum:Number = ... -
动画人物运动规律与节奏
2010-04-08 11:01 512本文转自:h ... -
Flash绘制美丽风景画之海滩
2010-04-08 11:01 484过前段时间学习,我们掌握了鼠绘的一些初步知识,今天我们来综合一 ... -
最经典的flash鼠标绘画技术详解(四)
2010-04-08 09:15 325[1b]04、上色[/1b] 这里使用的都是纯色,但要注 ...
相关推荐
本书在讲解过程中对于ActionScript 3中相对于ActionScript 2 的改动进行了一一指出,并从理论上解释了为何改变及相关的实现。使ActionScript 2 程序员能够快速上手ActionScript 3 ,并对ActionScript 2代码移植有...
该控件用Flash CS4+ActionScript3写成,能在网页上方便调用,用FlashVars参数传入图片路径。 该控件涉及了很多AS3画图的知识点。实现了加载图片,过度平滑,能通过调整SliderBar对加载的相片随意放大缩小等功能。对...
《Flash ActionScript3殿堂之路》适合有基础编程知识(不限语言)的Flash、Flex、AIR爱好者和开发人员,尤其适合ActionScript 2读者。本书还可为Java、C#等其他OOP语言爱好者学习ActionScript 3提供横向比较和导读。
ActionScript3代码规范 ActionScript3代码规范 ActionScript3代码规范
as3 pdf下载 ActionScript 3.0 是一种强大的面向对象编程语言,它标志着 Flash Player Runtime 演化过程中的一个重要阶段。设计 ActionScript 3.0 的意图是创建一种适合快速地构建效果丰富的互联网应用程序的语言,...
Adobe Flash 中的 ActionScript 2
ActionScript3中文手册
This guide provides a quick introduction to migrating to ActionScript 3 from ActionScript 2. It is targeted at designers and developers who have some experience scripting content within Adobe Flash ...
附录,比较 ActionScript 2.0 与 ActionScript 3.0 的某些关键语言和 API 的改动 有关错误和警告的附录(带注释) 具有关使用 XML 支持补间动画和 FLVPlayback 字幕的参考信息的附录。 具有关对 Adobe AIR 使用...
ActionScript3中文教程,详细介绍了用 FLASH CS3开发应用程序。
下面的 Adobe Flex 2 Language Reference《ActionScript 3.0 语言和组件参考》是 Flash® Player 和 Adobe® AIR™ 应用程序编程接口 (API) 的参考手册。 语言元素,如全局变量、运算符、语句、关键字、指令和特殊...
《ActionScript 3.0 语言和组件参考》中文版概述 下面的《ActionScript 3.0 语言和组件参考》是 ...5.附录,比较 ActionScript 2.0 与 ActionScript 3.0 的某些关键语言和 API 的改动 6.有关错误和警告的附录(带注释)
Flex与ActionScript3程序开发》一书由易到难、由浅人深、循序渐进地介绍了Flex与ActionScript3程序开发的一般步骤与常用的程序技巧,内容通俗易懂,使用大量实例贯穿全书,力求以实战的形式让读者快速掌握知识点。...
flash ActionScript.3面试题2
并且相对于早期的编译器版本,可执行更深入的优化 ■ 一个扩展并改进的应用程序编程接口 (API),拥有对对象的低级控制和真正意义上的面 向对象的模型 ■ 一种基于即将发布的 ECMAScript (ECMA-262) 第 4 版草案语言...
本书是一本高级ActionScript 3.0设计模式用书。大家或许也一直没有搞明白“高级”...本书将告诉您何时、为何以及如何使用面向对象中的合成(composition)和继承(inheritance)关系,以及一个个相关联的类如何构成模式
1.1.2ActionScript3.0特性 3 1.1.3ActionScript3.0代码组织 5 1.2ActionScript3.0API概览 5 1.3小结 8 第2章搭建ActionScript3.0开发环境 9 2.1搭建基于FlashCS3IDE的开发环境 9 2.1.1安装FlashCS3ID 9 2.1.2安装...
内附ActionScript3 的中文api chm格式的。和自学ActionScript的一些PPT,希望对学习ActionScript的朋友有帮助。
flash actionscript3 纯AS3代码_资源加载进度条.rar
ActionScript 3.0游戏编程 第2版 part3