`
longgangbai
  • 浏览: 7280119 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

学习ActionScript 3.0的新特点

阅读更多

ActionScript3.0 是一种类型安全,适应标准,面向对象的语言,代表着flash 播放器中的新的程序模型。 如果你已经熟悉ActionScript 1.0或者2.0, 所以当你用       ActionScript3.0开发应用程序时应该注意到它的一些不同点.

      为了帮助你轻松过渡到ActionScript3.0,我们开始列出一些信息以及一些在开发过程中你有可能遇到的问题。另一个有关ActionScript 2.0与ActionScript 3.0的API比较的有用资源在《ActionScript 3.0 语言参考》内可以查询到。

1、必须为所有的变量,参数和返回值定义数据类型。
      为所有的变量,参数和返回值定义数据类型被认为是一个极好的习惯, 并且能够帮助编译器给你更有帮助的错误提示。因为在运行前虚拟机就已经知道了它(变量,参数和返回值)的数据类型所以它(定义数据类型)也能够使得在运行时表现的更好。 实际上,因为我们认为这很重要所以在默认情况下我们会给出一个警告!(指未定义数据类型)

2、如果没有声明路径,它将默认为一个内在的,而不是公开的。
      声明的默认路径将由私有的起而代之(公开),意味着那些定义可见在只包含那些定义的那些包,而不是所有的代码。 这与诸如Java的其它一些些语言是相同的。因为ActionScript2.0的声明默认为公开, 这可能成为一个明显的漏洞,因此我们建议你为你的声明建立一个路径以至于它是透明的(意思就是说某些企图是徒劳的).为了鼓励这种好习惯,当没有声明路径时,ActionScript3.0编译器将弹出一个警告!

3、类被默认为是密封的,意味着扩展的特性将不能够在运行当中加入。
      类现在可以是动态的或者密封的。 动态的类能在运行当中增加另外的动态的特性;密封的类则不能。密封类保存在存储器当中因为不需要其它的杂乱信号,并且编译器能提供更好的错误反馈。  如声明class Foo,它是密封的。如果声明一个动态的类,请使用dynamic关键字, 例如dynamic class Foo。

4、如果需要引用一个包中的类,现在它是包含在包当中来引用。
      包的关键字对ActionScript 3.0来说是一种新的方式。 ActionScript 2.0 代码为: class mx.controls.Button {... }。ActionScript 3.0 代码:package mx.controls {class Button {. .. }}
      如同ActionScript 2.0,一个公开类的文件名与类的名字是相同的。若干个类可能放在同一个独立的文件夹中,但是只有一个类是公开的,并且它的名字必须与文件名相匹配

5、类必须导入,即使是那些提及到类
      使用MyPackage.MyClass类,你必须导入MyPackage.*; 或者导入MyPackage.MyClass;这是必须的即使是那些提及到的类,列如使用全名MyPackage.MyClass。 在ActionScript 3.0中,被导入的文件表明你想使用来自于另一个包的类,而在ActionScript 2.0中它只是一个简写。 在ActionScript 3.0中,完整的类名称用于消除模棱两可的情况,而且不会是导入文件方式的替代方式。

6、覆盖方法必须标记为override
      Override关键字使得避免了覆盖方法中的一个明显缺陷, 譬如为一个覆盖方法指定了错误名字或方法署名, 或者当这个覆盖方法的名字改变时。并且它可以通过查询代码清楚的看到一个方法已经被覆盖。因为它可以清楚的知道一个方法是否覆盖了另一个方法, 对于编译器编译能够得到有效的确认。Override关键字是受到了C#中的override关键字的启发。

7、外加的(属性)应该作为强制性数据项目,而不是对象的属性。
      对象匮乏的安全类型将可能导致意想不到的错误,所以编译器也将给出一个警告。绑定某对象的属性,比如selectedItem.name, 将导致一次警告; 你需要使用强制性数据项目,比如,EmployeeInfo(selectedItem).name 。

8、函数必须定义返回值。
      这样做是为了安全的数据类型,  所以你不能落下定义任一个返回值的数据类型或者为一个对象取得默认的类型。如果一个函数没有返回任何值,声明它返回一个空值。

9、代理方式将在建立,使得事件派遣变得更容易
      在ActionScript 2.0, 寻址事件对方法要求使用mx.utils.Delegate类或者其它的
          import mx.utils.Delegate;
          myButton.addEventListener(“click”, Delegate.create(this, onClick));

          在ActionScript 3.0, 提及到的方法将自动的记住它所涉及到的对象实例。 实质上,这是一种自动的代理。 所以,代码可能简单地被写成:
         myButton.addEventListener(“click”, onClick);

10、间接引用空值或未定义值的忽略将不会被忽略。
        间接引用空值或未定义值在以前的ActionScript 中会被忽略了和或者告知未定义。 现在, TypeError 的忽略将不会被忽略。 应该注意代码中存在空值或未定义值, 以及无声息中导致的失败。新的不忽略机制适应了ECMAScript 规格。

11、编译将于命令行的堆栈形式进行并且调试过程中将出现文件名以及行的进度
         当一个运行错误发生, 对话框将描述出这个错误并且显示出哪里出的这个错误。 使用详细的说明以及调试工具的选择将能够使你更加简单的定位到出现错误的地方。

12、属性不再是默认的被绑定。(Properties are no longer bindable by default.)
        如果属性需要绑定你必须用[Bindable]元数据标记。(You must declare them to be bindable by using the [Bindable] metadata tag.)

13、Flash Player API 被改组在一个包中
        以前, Flasy PlayerAPI中的所有类和函数是全局的, 现在,它们被放在了包当中,比如flash.display,flash.events,flash.ui。 例如, MovieClip 放在了flash.display.MovieClip, trace(),getTimer() 和setInterval()被放进了flash.util包当中。

14、新的时间类为时间事件提供了一个比setInterval/setTimeout函数更加纯正的机制
         新的时间类比setInterval体现出了更多的优点, 比如不需要一个时间间隔,并且更加先进, 面向对象的界面。我们认为用时间类替代setInterval/setTimeout是一个良好的习惯。

15、Event已经作为一种强制, 而且必须是一个新的事件类的子类。
         这意味着你能不再使用类对象的一个普通事例来派遣一个事件, 并且你不可能使用对象简写制方式, 即 { type:”customEvent” } 。不是创建一个普通对象, 现在你需要使用Event class。
        如果你想获得其它的属性你需要通过建立子类事件。 这样的做法是为了使得数据类型能够更安全和更有效。

16、视觉原理扩展了DisplayObject,你可以象定义其他类一样定义它们. 显示列表开始用addChild()来动态地增加组成部分。
         结果, createChild() 已经不被提倡使用。虚拟的实体, 包括TextField, 能够象其他对象一样来展示并且用addChild() 或者addChildAt方便地加入到显示列表中 。注意这还涉及到其它一些APIs, 譬如createEmptyMovieClip()  和 createTextField()已经成为过去式。 为了创造新的TextField你可以用”new TextField()”来代替”create TextField()”。

17、E4X (ECMAScript 为XML) 被推荐在flash中用来处理XML。
         ActionScript中的E4X变的更加强大和完整,提供给了计算机一种新的能力。以前的flash XML类依然可以用来使用。 如果你更喜欢以前的XML API, 改称为XMLDocument, 它被放在flash.xml包中。

18、当使用E4X时, toString方法已经不能用来标记整个对象返回全部的XML; 如果需要获得它,应该使用toXMLString method.
toString方法可以用于返回XML对象中某段字符。 它已经不能用于记录整个的XML对象。 如果需要获得标记的XML,使用toXMLString方法。

19、For…in 的循环语句已经不能够用来列举一个类中的属性和方法;它只能够用来列举一个对象中动态的属性。
        ActionScript 3.0以一种新的和比较先进的机制描述内在的属性和方法, 叫做describeType 。在ActonScript 3.0中是用describeType描述内在的属性和方法。

20、你能够用你所定义的一个类的实例来作为一个SWF对象。
         在ActionScript 2.0中, SWF对象总是MovieClip类 。在ActionScript3.0, 它可能会是Sprite类的子类。 你可以为DocumentRoot中的SWF文件定义一个类 。当SWF已经下载完成时,它将代替这个类作为最终对象。

分享到:
评论

相关推荐

    flash ActionScript 3.0 PPT课件

    **1.3 学习ActionScript 3.0的建议** 学习ActionScript 3.0需要时间和耐心。以下是一些学习策略: - **利用帮助文档**:使用Flash CS3中的内置帮助文档(F1键)或在线资源,及时获取语法和API信息。 - **实践编程*...

    ActionScript3.0的资料

    ActionScript 3.0的类体系与Java和C#等其他面向对象语言类似,但具有自己的特点,例如单一继承和接口支持。 函数和事件处理是ActionScript 3.0中的重要部分。函数可以作为独立的代码块执行,而事件处理则允许程序...

    ActionScript 3.0 API文档及Flex开发详解电子书

    《ActionScript 3.0 语言和组件参考.chm 《Flex 3 RIA开发详解与精深实践》PDF及 配套代码 (1)《ActionScript 3.0 语言和组件参考》概述 《ActionScript 3.0 语言参考》是 Flash® Player 和 Adobe AIR™ 应用...

    actionscript 3.0从入门到精通

    《ActionScript 3.0 从入门到精通》是一本专为学习ActionScript 3.0编程语言的读者编写的指南。ActionScript是Adobe开发的一种脚本语言,主要用于创建交互式内容,尤其是在Flash Player和Adobe Flex中。ActionScript...

    C语言典型应用系统之——聊天室(ActionScript 3.0实现)

    用户输入的消息可以通过ActionScript发送到服务器,同时,服务器接收到的新消息也能实时推送到客户端。 在实现过程中,`library.swf`可能是一个包含了聊天室界面元素的库文件,它包含了各种组件、动画效果和用户...

    (中文经典1)foundation Actionscript3.0 Animation

    ActionScript 3.0是Adobe Flash Professional中的主要编程语言,它具有性能提升、类型检查严格和面向对象等显著特点,使得开发更加高效且专业的Flash应用成为可能。 在ActionScript 3.0中,动画的实现基于时间线和...

    本地播放器(ActionScript 3.0实现)

    通过学习这个本地播放器的ActionScript 3.0实现,开发者可以深入了解如何利用AS3.0进行多媒体交互设计,掌握基本的播放器开发技巧,这对于构建其他类型的Flash应用程序也非常有帮助。同时,这个项目也是一个很好的...

    Flash ActionScript 3.0 动画高级教程 源码

    首先,我们要了解ActionScript 3.0的主要特点。相比于ActionScript 2.0,AS3.0进行了重大更新,包括类和对象的面向对象编程、更严格的语法、更高的性能以及更好的类型检查。这些改进使得AS3.0更适合开发复杂的互动...

    Flash_ActionScript3.0_samples

    示例会包含如何利用AS3.0开发AIR应用,适应不同操作系统的特点,实现桌面级的功能。 通过深入研究这些官方示例,无论是初学者还是经验丰富的开发者,都能从中获益,提升自己在Flash ActionScript 3.0领域的专业技能...

    flash as3.0入门

    本资源摘要信息涵盖了 Flash AS3.0 的基础知识点,并提供了对 ActionScript 3.0 的概述、发展历史、新特点、应用领域和 Flash CS3 的动作面板介绍等方面的知识点,为学习 Flash AS3.0 提供了一个系统的入门指南。

    ActionScript.3.0.Cookbook.中文完整版.rar

    《ActionScript 3.0 Cookbook》是一本专为ActionScript开发者设计的实用指南,中文完整版的提供使得国内用户能够无障碍地学习和掌握这一强大的编程语言。ActionScript 3.0是Adobe Flash Platform的核心,广泛应用于...

    as 3.0 简单超级玛丽源码

    本文将深入探讨如何使用ActionScript 3.0(简称AS 3.0)这一强大的Flash编程语言来实现一个简单的超级玛丽小游戏。通过这个项目,我们可以学习到AS 3.0的基础语法、对象操作、事件处理以及游戏逻辑设计等多个方面的...

    as3.0精髓 教程

    3. **事件驱动编程**:AS3.0中的事件处理机制是其核心特点之一,允许程序响应用户输入或其他外部事件。事件监听器(addEventListener)和事件派发(dispatchEvent)是实现这一机制的关键。 4. **包和命名空间**:AS...

    Flex4Api + ActionSript学习文档

    总的来说,这份“Flex4Api + ActionSript学习文档”集合为学习和掌握Flex4 API和ActionScript 3.0提供了全面的学习资源。无论是初学者还是经验丰富的开发者,都能从中受益,提升自己的技能,创造出更具吸引力和功能...

    FLEX3.0最新相关技术手册

    Flex 3.0技术手册包含了关于Flex SDK、Flex Builder、以及相关开发工具的全面知识,对于想要深入了解和掌握Flex 3.0的开发者来说,是一份非常宝贵的学习资料。 一、Flex SDK Flex SDK是Flex开发的核心组件,包括...

    纯代码拼图as3.0

    九宫格拼图游戏通常涉及图像分割、随机打乱、用户操作和逻辑判断等元素,对于学习ActionScript 3.0的基础语法和面向对象编程思想很有帮助。 【标签】"纯代码拼图as3.0" 明确指出了这个项目的特点,即完全通过代码...

    FlashCS动画制作实用教程完美版资料.ppt

    学习ActionScript 3.0,你需要掌握以下几个核心知识点: 1. **基础知识**:了解ActionScript的基础语法,包括变量、常量、数据类型(如整型、浮点型、字符串、布尔型等)以及操作符的使用。 2. **对象和类**:理解...

    flash3.0游戏代码

    首先,我们要了解Flash 3.0的主要特点。这一版本提升了ActionScript的性能,引入了更多面向对象的编程特性,如类、包和接口等,使得游戏开发更为高效。此外,它还支持更复杂的图形渲染和声音处理,为游戏的视觉和...

    as3.0做的连连看

    通过对这款AS3.0连连看游戏的源代码研究,我们可以学习到如何使用AS3.0构建交互式应用程序,理解面向对象编程在游戏开发中的应用,以及如何通过事件驱动实现用户交互。这不仅有助于提升编程技能,也能为今后开发更...

    flash 答题小程序

    【Flash答题小程序】是一款基于Flash技术开发的互动学习工具,主要使用ActionScript 3.0编程语言进行设计和实现。这个小程序提供了一种有趣且直观的方式,帮助用户通过游戏化的形式进行知识测试和复习。其核心特点...

Global site tag (gtag.js) - Google Analytics