代码改变世界

AS3(5) --- 使用ActionScript构建

2011-02-15 16:18  @影子@  阅读(248)  评论(0编辑  收藏  举报

 用于组织代码的选项
  您可以使用 ActionScript 3.0 代码来实现任何目的,从简单的图形动画到复杂的客户端-服务器事务处理系统都可以通过它来实现。您可能希望使用一种或多种不同的方法在项目中包括 ActionScript,具体取决于要构建的应用程序类型。
  
  将代码存储在 Flash 时间轴中的帧中
  在 Flash 创作环境中,可以向时间轴中的任何帧添加 ActionScript 代码。该代码将在影片播放期间播放头进入该帧时执行。
  
  通过将 ActionScript 代码放在帧中,可以方便地向使用 Flash 创作工具构建的应用程序添加行为。您可以将代码添加到主时间轴中的任何帧,或任何 MovieClip 元件的时间轴中的任何帧。但是,这种灵活性也有一定的代价。构建较大的应用程序时,这会容易导致无法跟踪哪些帧包含哪些脚本。这会使得随着时间的过去,应用程序越来越难以维护。
  
  许多开发人员将代码仅仅放在时间轴的第 1 帧中,或放在 Flash 文档中的特定图层上,以简化在 Flash 创作工具中组织其 ActionScript 代码的工作。这样,就可以容易地在 Flash FLA 文件中查找和维护代码。但是,要在另一个 Flash 项目中使用相同的代码,您必须将代码复制并粘贴到新文件中。
  
  如果想要以后能够在其它 Flash 项目中使用您的 ActionScript 代码,您需要将代码存储在外部 ActionScript 文件(扩展名为 .as 的文本文件)中。
  
  将代码存储在 ActionScript 文件中
  如果您的项目中包括重要的 ActionScript 代码,则最好在单独的 ActionScript 源文件(扩展名为 .as 的文本文件)中组织这些代码。可以采用以下两种方式之一来设置 ActionScript 文件的结构,具体取决于您打算如何在应用程序中使用该文件。
  
  非结构化 ActionScript 代码:编写 ActionScript 代码行(包括语句或函数定义),就好像它们是直接在时间轴脚本、MXML 文件等文件中输入的一样。
  
  使用 ActionScript 中的 include 语句或 Adobe Flex MXML 中的 标签,可以访问以此方式编写的 ActionScript。ActionScript include 语句会导致在特定位置以及脚本中的指定范围内插入外部 ActionScript 文件的内容,就好像它们是直接在那里输入的一样。在 Flex MXML 语言中,可使用 标签来指定源属性,从而标识要在应用程序中的该点处加载的外部 ActionScript 文件。例如,以下标签将加载名为 Box.as 的外部 ActionScript 文件:
  
  
  ActionScript 类定义:定义一个 ActionScript 类,包含它的方法和属性。
  
  定义一个类后,您就可以像对任何内置的 ActionScript 类所做的那样,通过创建该类的一个实例并使用它的属性、方法和事件来访问该类中的 ActionScript 代码。这要求做到下面两点:
  
  使用 import 语句来指定该类的全名,以便 ActionScript 编译器知道可以在哪里找到它。例如,如果您希望使用 ActionScript 中的 MovieClip 类,首先需要使用其全名(包括包和类)来导入该类:
  
  import flash.display.MovieClip;
  或者,您也可以导入包含该 MovieClip 类的包,这与针对该包中的每个类编写单独的 import 语句是等效的:
  
  import flash.display.*;
  此规则的唯一例外是,如果在代码中引用的类为顶级类,没有在包中定义,则必须导入该类。
  
  注: 在 Flash 中,将自动为附加到时间轴上的帧的脚本导入内置类(在 flash.* 包中)。然而,在编写您自己的类时,或是在使用 Flash 创作组件(fl.* 包)或在 Flex 中工作时,您将需要显式导入类,以便编写创建该类的实例的代码。 //在flex中,有些类必须一次性导入
  编写明确引用类名的代码(通常声明一个用该类作为其数据类型的变量,并创建该类的一个实例以便存储在该变量中)。在 ActionScript 代码中引用其它类名即通知编译器加载该类的定义。例如,如果给定一个称为 Box 的外部类,下面的语句将导致创建 Box 类的一个新实例:
  
  var smallBox:Box = new Box(10,20);
  当编译器第一次遇到对 Box 类的引用时,它会搜索加载的源代码以找到 Box 类的定义。
  
  选择合适的工具
  根据项目需求和可用资源,您可能希望使用几个工具中的一个(或结合使用多个工具)来编写和编辑 ActionScript 代码。
  
  Flash 创作工具
  除了创建图形和动画的功能之外,Adobe Flash CS4 Professional 还包括处理 ActionScript 代码(附加到 FLA 文件中的元素的代码,或仅包含 ActionScript 代码的外部文件中的代码)的工具。Flash 创作工具最适合于涉及大量的动画或视频的项目,或者您希望自己创建大部分图形资源的项目,尤其适合于用户交互很少或者具有需要 ActionScript 的功能的项目。如果您希望在同一个应用程序中既创建可视资源又编写代码,也可能会选择使用 Flash 创作工具来开发 ActionScript 项目。如果您希望使用预置的用户界面组件,但 SWF 较小或便于设置可视外观是项目的主要考虑因素,那么您也可能会选择使用 Flash 创作工具。
  
  Adobe Flash CS4 Professional 包括两个编写 ActionScript 代码的工具:
  
  “动作”面板:在 FLA 文件中工作时可用,该面板允许您编写附加到时间轴上的帧的 ActionScript 代码。
  
  “脚本”窗口:“脚本”窗口是专门用于处理 ActionScript (.as) 代码文件的文本编辑器。
  
  Flex Builder
  Adobe Flex Builder 是创建带有 Flex 框架的项目的首选工具。除了可视布局和 MXML 编辑工具之外,Flex Builder 还包括一个功能完备的 ActionScript 编辑器,因此可用于创建 Flex 或仅包含 ActionScript 的项目。Flex 应用程序具有以下几个优点:包含一组内容丰富的预置用户界面控件和灵活的动态布局控件,内置了用于处理外部数据源的机制,以及将外部数据链接到用户界面元素。但由于需要额外的代码来提供这些功能,因此 Flex 应用程序的 SWF 文件可能比较大,并且无法像 Flash 应用程序那样轻松地完全重设外观。
  
  如果希望使用 Flex 创建功能完善、数据驱动且内容丰富的 Internet 应用程序,并在一个工具内编辑 ActionScript 代码,编辑 MXML 代码,直观地设置应用程序布局,则应使用 Flex Builder。
  
  第三方 ActionScript 编辑器
  由于 ActionScript (.as) 文件存储为简单的文本文件,因此任何能够编辑纯文本文件的程序都可以用来编写 ActionScript 文件。除了 Adobe 的 ActionScript 产品之外,还有几个拥有特定于 ActionScript 的功能的第三方文本编辑程序。您可以使用任何文本编辑程序来编写 MXML 文件或 ActionScript 类。然后,可以使用 Flex SDK(包括 Flex 框架类和 Flex 编译器)来基于这些文件创建 SWF 应用程序(Flex 或仅包含 ActionScript 的应用程序)。或者,很多开发人员也可以使用第三方 ActionScript 编辑器来编写 ActionScript 类,并结合使用 Flash 创作工具来创建图形内容。
  
  在以下情况下,您可以选择使用第三方 ActionScript 编辑器:
  
  您希望在单独的程序中编写 ActionScript 代码,而在 Flash 中设计可视元素。
  
  将某个应用程序用于非 ActionScript 编程(例如,创建 HTML 页或以其它编程语言构建应用程序),并希望将该应用程序也用于 ActionScript 编码。
  
  您希望使用 Flex SDK 而不用 Flash 和 Flex Builder 来创建仅包含 ActionScript 的项目或 Flex 项目。
  
  有一些提供特定于 ActionScript 的支持的代码编辑器值得注意,其中包括:
  
  Adobe Dreamweaver® CS4
  
  ASDT
  
  FDT
  
  FlashDevelop
  
  PrimalScript
  
  SE|PY
  
  
  ActionScript 开发过程
  
  
  无论 ActionScript 项目是大还是小,遵循一个过程来设计和开发应用程序都有助于您提高工作效率。下面几个步骤说明了构建使用 ActionScript 3.0 的应用程序的基本开发过程:
  
  设计应用程序。
  
  您应先以某种方式描述应用程序,然后再开始构建该应用程序。
  
  
  
  编写 ActionScript 3.0 代码。
  
  您可以使用 Flash、Flex Builder、Dreamweaver 或文本编辑器来创建 ActionScript 代码。
  
  创建 Flash 或 Flex 应用程序文件来运行代码。
  
  在 Flash 创作工具中,此步骤包括:创建新的 FLA 文件、设置发布设置、向应用程序添加用户界面组件以及引用 ActionScript 代码。在 Flex 开发环境中,创建新的应用程序文件涉及:定义该应用程序并使用 MXML 来添加用户界面组件以及引用 ActionScript 代码。
  
  发布和测试 ActionScript 应用程序。
  
  这涉及在 Flash 创作环境或 Flex 开发环境中运行应用程序,确保该应用程序执行您期望的所有操作。
  
  
  
  请注意,不必按顺序执行这些步骤,或者说不必在完全完成一个步骤后再执行另一步骤。例如,您可能先设计应用程序的一个屏幕(步骤 1),然后创建图形、按钮等等(步骤 3),最后再编写 ActionScript 代码(步骤 2)并进行测试(步骤 4)。您也可以先设计应用程序的一部分,然后再一次添加一个按钮或一个界面元素,并为每个按钮或界面元素编写 ActionScript,并在生成后对之进行测试。虽然记住开发过程的这四个阶段十分有用,但在实际的开发过程中适当地调整各个阶段的顺序通常有助于提高效率。