首页 - 快讯 - 钢琴 - 曲谱 - 童画 - 教案 - 国画 - 书法 - 素描 - 色彩 - 雕塑 - 版画 - 漫画 - 设计 - 高考 - 简章 - 考分 - 院校 - 考题 - 考点 - 图库 - 名家 - 下载 - 论坛
河南艺术网
幼儿教案 - 小学教案 - 初中教案 - 高中教案 - 美术论文 - 国画教程 - 书法教程 - 色彩教程 - 雕塑教程 - 版画教程 - 素描教程 - 漫画教程 - 童画教程 - 设计学院
photoshop Fireworks flash sdmax Illustrator CorelDraw PhotoImpact maya AutoCAD Dreamweaver
高考频道
您现在的位置: 河南艺术网 >> 教程 >> 设计学院 >> flash >> 正文

Flash AS3 相对于AS2 新的特性和改动
http://www.henanart.com 2007-10-21 14:29:54 佚名

本文介绍了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 程序运行结果


  • 上一篇教程:

  • 下一篇教程:
  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     热 门 文 章
    普通教程Flash基础:了解动画基础知识
    普通教程Flash实例:打造佛光效果
    普通教程CorelDraw教程 跟我一起绘制《翠鸟》
    普通教程光的教程——斑斓四射的光的秘密
    普通教程卡通人物眼睛的绘画方法和技巧
    普通教程效果演示:极坐标在绘画中的运用
    普通教程Flash脚本与时间轴动作的执行顺序
    普通教程Flash实现随机加载外部图片的方法
    普通教程用Flash制作夜色雨景
    普通教程Flash CS3 组件开发教程
     相 关 文 章
    示例:Flash动态文本空行问题研究
    Dreamweaver也能轻松制作Flash相册
    Flash脚本与时间轴动作的执行顺序
    Flash实现随机加载外部图片的方法
    用Flash制作夜色雨景
    Flash CS3 组件开发教程
    用FLASH遮罩效果做图片切换效果
    Flash制作过渡卷动效果精美图库特效
    Flash特效:鼠标触发模糊图片变清晰
    FLASH 8实例教程:瀑布动画制作方法

    河南艺术网

    豫ICP备05020495号
    版权所有 河南艺术网(HenanArt.Com)
    网站推广:河南天艺文化传媒有限公司 联系电话:0371-65257910
    Copyright © 2006 - 2008 henanart.com Inc. All Rights Reserved
    关于我们 | About HeNanArt | 服务条款| 广告服务| 招聘信息 | 公益事业| 客服中心| 网站导航