Flash ActionScript常用的开发工具介绍

时间:2017-05-02 16:40:55 AS3.0入门教程 我要投稿

Flash ActionScript常用的开发工具介绍

  根据项目需求和可用资源,您可能希望使用几个工具中的一个(或结合使用多个工具)来编写和编辑 ActionScript 代码。以下是由阳光网小编整理关于Flash ActionScript常用的开发工具介绍,希望大家喜欢!

  Flash ActionScript常用的开发工具

  Flash 创作工具

  除了创建图形和动画的功能之外,Adobe Flash CS3 Professional 还包括处理 ActionScript代码(附加到 FLA 文件中的元素的代码,或仅包含 ActionScript 代码的外部文件中的代码)的工具。Flash 创作工具最适合于涉及大量的动画或视频的项目,或者您希望自己创建大部分图形资源的项目,尤其适合于用户交互很少或者具有需要 ActionScript 的功能的项目。如果您希望在同一个应用程序中既创建可视资源又编写代码,也可能会选择使用 Flash创作工具来开发 ActionScript 项目。如果您希望使用预置的用户界面组件,但 SWF 较小或便于设置可视外观是项目的主要考虑因素,那么您也可能会选择使用 Flash 创作工具。

  Adobe Flash CS3 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 代码,直观地设置应用程序布局,则应使用 FlexBuilder。

  第三方 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® CS3

  ■ ASDT

  ■ FDT

  ■ FlashDevelop

  ■ PrimalScript

  ■ SE|PY

  ■ Xcode (带有 ActionScript 模板和代码提示文件)

  flash ActionScript快速入门

  (1)特色

  ActionScript 3.0包括二部分:核心语言和Flash Player API。核心语言用于定义编程语言的基本结构, 比如声明变量,创建表达式控制程序结构和数据类型等。Flash Player API是由一系列用于实现特定功能的flash player类组成。

  第2章 AS3.0编程语言基础

  (1)语法、数据、变量、运算符和语句构成了编程语言的基础

  (2)作用域

  变量即使在for作用域中也不可重复

  (3)默认值

  Boolean型变量的默认值是:false。

  int型变量的默认值是:0。

  Number型变量的默认值是:NaN。

  Object型变量的默认值是:null。

  String型变量的默认值是:null。

  uint型变量的默认值是:0。

  *型变量的默认值是:undefined。

  (4)两种数据类型(注意:没有包装类概念)

  基元型数据类型:Boolean、int、Number、String和uint。

  复杂型数据类型:Array、Date、Error、Function、RegExp、XML和XMLList。

  (5)数据类型检查

  它默认的是执行时进行数据类型检查。同时它也在适合使用“严格模式”的编译器在编译时执行数据类型检查。在使用严格模式的编译器中,数据类型检查既可以在执行前执行编译器检查,也可以在运行时执行运行时检查。在标准模式下,只支持默认的执行时数据类型检查。

  比如说在程序编写过程中,要明确传递变量值的类型和接受参数类型相同。(严谨模式:但允许隐式转换)

  (6)*

  使用*作为类型注释与不使用类型注释等效。从无类型属性中读取的表达式可视为无类型表达式。该说明符主要用于两个方面:将数据类型检查延缓到运行时和将undefined存储在属性中

  (7)

  使用表达式来表达想要达到的效果,使用运算符来进行相关的运算,这就是数据运算的关键。

  第3章 AS3.0程序设计

  (1)for in /for each in

  for..in和for each..in语句都可以用于循环访问对象属性或数组元素。下面分别使用两种语句来访问对象中的属性。代码如下所示。

  //定义一个对象lzxt,并添加属性name和age

  var lzxt:Object = {name:"浪子啸天", age:30};

  //执行遍历操作

  for (var i:String in lzxt) {

  //输出属性名称和属性值

  trace("for in 语句输出:"+i + ": " + lzxt[i]);

  }

  //执行for each遍历操作

  for each (var k:String in lzxt) {

  //输出属性值

  trace("for each 语句输出:"+k);

  }

  第4章 函数

  (1)定义

  函数在程序设计的过程中,是一个革命性的创新。利用函数编程,可以避免冗长、杂乱的代码;利用函数编程,可以重复利用代码,提高程序效率;利用函数编程,可以便利的修改程序,提高编程效率。

  函数(Function)的准确的定义为:执行特定任务,并可以在程序中重用的代码块。

  (2)另种

  “方法”和“函数闭包”。具体是将函数称为方法还是函数闭包,取决于定义函数的上下文。

  作为闭包属于函数类型,必须新定义后使用

  (3)

  在ActionScript 3.0 中,所有的参数均按引用传递,因为所有的值都存储为对象。基元型数据是不变的对象,按按值还是按引用的效果一样,通常可以看作是按值传递。按值传递,就是指参数被传递给函数后,被传递的变量就独立了。若在函数中改变这个变量,原变量不会发生任何的变化。

  (4)默认参数

  function(参数1:参数类型=默认值,参数2:参数类型=默认值)

  (5)arguments 对象和...(rest) 参数

  arguments 对象是一个数组,其中按顺序保存着传递给函数的所有参数。可以使用数组的访问方式来访问传入的参数。它有一个length属性记录当前传入的参数数目;还有一个属性callee提供对函数本身的引用,该引用可用于递归调用函数表达式。

  ...(rest)参数是ActionScript3.0引入的新参数声明。使用该参数可指定一个自己命名的数组参数来接受任意多个以逗号分隔的参数。

  第5章 事件的发送和处理

  (1)改进

  对比ActionScript 2.0,ActionScript 3.0的事件处理体系具有以下几个新特点:

  在ActionScript 3.0中,只能使用addEventListener()注册侦听器。

  在ActionScript 3.0中,可以对属于事件流一部分的任何对象调用addEventListener()方法。

  在ActionScript 3.0中,只有函数或方法可以是事件侦听器。

  (2)Event类---事件对象

  事件对象作用

  一是将事件信息储存在一组属性中,来代表具体事件;(事件属性:静态方法)

  二是包含一组方法,用于操作事件对象和影响事件处理系统的行为。(事件方法)

  在Flash播放器的应用程序接口中,有一个Event类,作为所有事件对象的基类,也就是说,程序中所发生的事件都必须是Event类或者其子类的`实例。

  Event类公开的属性有:type、cancelable、target、currentTarget、eventphase、bubles。

  1.type属性:每个事件对象都有关联的事件类型。事件类型存储以字符串的形式存储在Event.type属性中。利用事件类型,可以区分不同类型的事件。

  2.cancelable属性:事件的默认行为是否可以被阻止由布尔值表示,并存储在Event.cancelable属性中。此属性时一个布尔值,默认为flase。这个属性一般是和preventDefault()方法结合在一起使用的。

  3.target属性:target属性用于存储对事件目标的引用。

  4.其它属性:currentTarget、eventphase和bubbles这三个属性都是和ActionScript3的事件流机制有关,在平时用到的不多。

  Event类的方法有7种:clone()、toString()、stopPropogation()、stopImmediatePropogation()、preventDefault()、isDefaultPrevented()和formatToString()。这些方法的用途如下:

  Event.clone()方法用于赋值Event子类实例,返回Event对象原始实例的副本。当需要自定义Event子类时,就必须要继承Event.clone()方法,用于赋值自定义类的属性。另外还要加上新的属性,否则在侦听器重写调用时,这些属性的值会出现错误。

  Event.toString()属性返回一个包含Event对象的所有属性的字符串。如果要自定义事件类,那么重写toString()方法时,可以使用

  formatToString()这个方法在返回的字符串中加入新的事件实例属性。

  Event.stopPropogation()方法可阻止事件对象移动到下一个节点,但只有在允许执行当前节点上的任何其它事件侦听器之后才起作用。

  Event.stopImmediatePropogation()方法也阻止事件对象移动到下一个节点,但不允许执行当前节点上的任何其它事件侦听器。

  Event.preventDefault()和Event.isDefaultPrevented()和Event.cancelable属性结合使用,用于取消事件的默认行为的发生。

  (3)Event类的子类

  Event类中的属性无法捕获其它事件具有的独特的特性

  ActionScript 3.0的应用程序接口特意为这些具有显特征的事件准备了Event类的几个子类。这些子类主要包括:

  鼠标类:MouseEvent。

  键盘类:KeyBoardEvent。

  时间类:TimerEvent。

  文本类:TextEvent。

  (4)事件监听函数

  是事件的处理者,负责接受事件携带的信息,并在接受到该事件之后执行事件处理函数体内的代码。

  添加事件侦听的过程有两步:

  第一步是创建一个事件侦听函数,

  function 侦听器名称(evt:事件类型):void{…}

  语法格式说明如下:

  侦听器名称:要定义的事件侦听器的名称,命名需符合变量命名规则。

  evt:事件侦听器参数,必需。

  事件类型:Event类实例或其子类的实例。

  void:返回值必须为空,不可省略。

  第二步是使用addEventListener()方法在事件目标或者任何的显示对象上注册侦听器函数。

  管理事件监听器

  在ActionScript3.0中使用IEventDispatcher接口的方法来管理侦听器函数,主要用于注册、检查和删除事件侦听器。

  1.注册事件侦听器:addEventListener()函数用来注册事件侦听函数。注册侦听器的语法格式如下:

  事件发送者.addEventListener(事件类型,侦听器);

  2.删除事件侦听器:removeEventListener()函数用来删除事件侦听器函数。删除侦听器的语法格式如下:

  事件发送者.removeEventListener(事件类型,侦听器);

  3.检查事件侦听器:HasEventListener()方法和willTragger()方法,都可以用来检测当前的事件发送者注册了何种事件类

  型的侦听器。

  检查事件侦听器语法格式如下:

  事件发送者.hasEventListener(事件类型);

  (5)事件处理类型

  ActionScript3.0使用单一事件模式来管理事件,所有的事件都位于flash.events包内,其中构建了20多个Event类的子类,用来管理相关的事件类型。

  ActionScript3.0中,统一使用MouseEvent类来管理鼠标事件。在使用过程中,无论是按钮还是影片事件,统一使用addEventListener注册鼠标事件(关联事件--发送者--处理者)。此外,若在类中定义鼠标事件,则需要先引入(import)flash.events.MouseEvent类。

  MouseEvent类定义了10中常见的鼠标事件,具体如下:

  CLICK:定义鼠标单击事件 DOUBLE_CLICK:定义鼠标双击双击事件

  MOUSE_DOWN:定义鼠标按下事件 MOUSE_MOVE:定义鼠标移动事件

  MOUSE_OUT:定义鼠标移出事件 MOUSE_OVER:定义鼠标移过事件

  MOUSE_UP:定义鼠标提起事件 MOUSE_WHEEL:定鼠标滚轴滚动触发事件

  ROLL_OUT:定义鼠标滑入事件 ROLL_OVER:定义鼠标滑出事件

  键盘操作也是Flash用户交互操作的重要事件。在ActionScript 3.0中使用KeyboardEvent类来处理键盘操作事件。它有两种类型的键盘事件:KeyboardEvent.KEY_DOWN 和 KeyboardEvent.KEY_UP。

  KeyboardEvent.KEY_DOWN:定义按下键盘时事件

  KeyboardEvent.KEY_UP:定义松开键盘时事件

  注意:在使用键盘事件时,要先获得它的焦点,如果不想指定焦点,可以直接把stage作为侦听的目标。

  在ActionScript3.0中使用Timer类来取代ActionScript之前版本中的setinterval()函数。而执行对Timer类调用的事件进行管理的是TimerEvent事件类。要注意的是,Timer类建立的事件间隔要收到SWF文件的帧频和Flash Player的工作环境(比如计算机的内存的大小)的影响,会造成计算的不准确。

  Timer类有两个事件,分别为:

  TimerEvent.TIMER:计时事件,按照设定的事件发出。

  TimerEvent.TIMER_COMPLETE:计时结束事件,当计时结束时发出

  帧循环ENTER_FRAME事件是ActionScript 3.0中动画编程的核心事件。该事件能够控制代码跟随Flash的帧频播放,在每次刷新屏幕时改变显示对象。

  使用该事件时,需要把该事件代码写入事件侦听函数中,然后在每次刷新屏幕时,都会调用Event. ENTER_FRAME事件,从而实现动画效果。


【Flash ActionScript常用的开发工具介绍】相关文章:

1.Flash ActionScript3.0简介

2.Flash ActionScript3.0高级教程全集

3.如何利用Flash Builder创建ActionScript项目

4.★Flash ActionScript3.0运算符

5.Flash ActionScript3.0快速入门教程

6.Flash ActionScript3.0入门教程全集

7.「Flash ActionScript3.0经典入门教程」-全九集-ActionScript教

8.Flash ActionScript3.0存在的兼容性问题