首页>参考读物>计算机科学与技术>数码/设计

专家导航——Flash ActionScript X 开发入门
作者 : (美)菲利普.科特勒(Philip Kotler)
出版日期 : 2006-07-10
ISBN : 7-111-19141-2
定价 : 42.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 370
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书以Flash Professional 8中文版为创作环境,以 ActionScript 2.0 为主线,结合示例系统阐述Flash ActionScript X 应用开发的基础知识和基本方法:首先从变量、函数、基本程序结构、键盘和鼠标事件等基础知识出发,然后从面向对象程序设计的角度介绍Flash基础类和对象、多时间轴、组件、声音、视频,ActionScript 的调试技术,以及创建图形和动画特效的技术,最后提供了ActionScript的高级应用主题,如Flash网络应用程序、移动设备应用程序和通信应用程序的开发。

主要内容
第一篇 (第1~4章),介绍了在Flash Professional 8 环境下进行Flash开发的一些基本概念以及用于交互式应用程序的基础知识,使初学者对Flash有一个初步的认识。
第二篇 (第5~13章),介绍ActionScript语言的核心——Flash基础类,这些类构成了Flash应用开发的基石,可以构建交互性、复杂的应用程序。
第三篇 (第14~15章),介绍了如何利用Flash基础类将视频、音频、数据集成到一起,创建富于表现力的图形和动画效果。
第四篇 (第16~19章),作为进阶内容,提供了ActionScript的高级应用主题,如Flash网络应用程序、移动设备应用程序和通信应用程序的开发。

* 附录中的内容便于课堂上的基础教学。
* 附赠光盘中收录了书中全部案例的源文件和相关素材,以及部分有用的技术文档。

图书特色

图书前言

用户最初认识的Flash是一个使用矢量图形和交互动画点缀网页的创作工具随着Internet日益成为电子商务和数据交换的双向快速通道。Flash也提供了大量的新工具用来开发执行双向操作的应用程序,以适应这种需要。
  现在我们就来看一下Flash究竟给我们带来了哪些新的变化:
  ActionScript是用来实现交互功能的程序语言,现在在Flash Professional 8中变得更加强大,更加易于编写和调试。Flash Professional 8有一个具备强大功能的程序编辑器:使用该编辑器,初学者和熟练的程序员都能迅速而有效地编写出功能强大的程序来。
  Flash Professional 8的程序编辑器相对于前面的版本而言有了巨大的提高,它提供代码提示、代码格式自动识别以及搜索替换功能;并且Flash Professional 8提供了一个“帮助”面板,为保证用户可以快速查看程序语法;另外,Flash Professional 8内置了一个调试器,可以设置断点以实施代码步进。
  Flash Professional 8提供了两种开始创作应用软件的方法:新建一个空白文档,或使用模板;还提供了大量的标准模板,像广告条、幻灯片以及各种指南。使用模板可以非常快捷地制作出具备强大交互功能的Flash影片应用程序,例如:测验模板可以非常快捷地创建测试题应用程序,并包含了统计学生得分情况的所有功能。
  Flash Professional 8也内建了大量UI组件,像滚动条、复选框、列表框等。这些组件都由适当的行为构成,所以添加具备强大功能的交互界面元素只是“一拖一放”的事。因为所有的UI组件都由标准的Flash图形构成,所以只需编辑组成组件外观的图形符号或者使用外观样式就可以改变组件外观。
  使用Flash Professional 8,用户可以将实时视频、音频和数据共享引入到Flash的开发和应用中来。
  为什么要使用Flash编写程序
  Flash之所以在网络上日益盛行,在于它有不可比拟的优点—可以制作出用于浏览的导航控制、制作动画图标、带同步声音的大段动画,创建出生动的、富于表现力的网页。Flash中的图形都是矢量图形,占据存储空间较少,因而下载时间短,且能很好地适应浏览者不同尺寸的显示屏。
  Flash中影片的创建可先通过自己绘制或者导入相关的图片,将它们适当地安排在舞台(stage)上,通过在它们各自的时间轴(timeline)上进行设置使它们“动”起来,即对特定事件作出反应或按特定的方式变化而产生互动效果。完成的影片可作为Flash播放器文件输出,嵌入到HTML网页中,并一同被传到Web服务器中,这样,用户就可以通过浏览器浏览Flash影片(.SWF格式)了。
  前面我们谈到了Flash文件的优点,这些都是相对于网络传输和制作过程而言的,对于使用Flash开发交互式应用程序,其优点也是不言而喻的。
  (1)跨平台、跨设备
  如同Java一样,Flash文件同样具备了一次开发,可以跨平台、跨设备随意浏览的特性,这就是基于虚拟机应用程序的最大优点,也是Flash的另一个优点。
  无论是在Windows、Mac、Linux、Unix还是在Symbian操作系统上,也不论是在台式机上还是在笔记本电脑上,Flash文件都能发挥它最大的特点。只要用户正确地安装了Flash Player,不会因为操作系统的改变而影响播放。
  (2)基于富媒体的用户界面(UI)
  市面上已有很多书论述用户界面(UI)这一主题,但是,关于每一个应用程序的界面应该是什么样子却从未提及。也许不存在一个能够成为每个人心目中完美的界面,但是使用Flash创建的富媒体应用程序,就能帮助尽可能多的用户最大限度地从自己开发的应用程序中获益。
  集成了矢量图形、位图、音频和视频,以及极富人性化的动画和游戏,你开发的应用程序就能够取悦大多数用户并最终获得成功。这就是为什么开发人员称Flash应用程序为“富Internet应用程序”(简称RIA)的原因。
  关于ActionScript脚本语言
  ActionScript脚本语言是Flash Player的交互语言,它有三种语言编写风格,即ActionScript 1.0、ActionScript 2.0和ActionScript 3.0(简称AS 1.0、AS 2.0和AS 3.0)。这三种语言风格都是基于ECMA-262(欧洲计算机制造商协会)标准,仅版本不同。在这里要特别提醒用户的是,绝不可认为AS 1.0 < AS 2.0 < AS 3.0。
  本书特点
  很多年来,Flash的用户都有一个夙愿:那就是完整、系统地把握Flash应用程序开发。
  本书能够帮助用户完成这一夙愿。早在3年前,我提出了“Flash是基于时间轴的应用程序”知识体系。3年后的今天,这一知识体系已经非常丰富和完整,并成功地贯穿于Flash应用开发的全部过程。事实上,这也是目前我所知的“唯一”正确的主线。它如同巨大的磁石将全部的开发体验吸附到“时间轴”这个看起来如此浅显而又深刻的“现实”中来。
  时间轴的概念对于大多数应用程序开发环境而言是十分陌生的,首先,它看起来仅仅是设计人员感兴趣的事,或者是仅仅用于简单的动画。但是,你很快就会发现,时间轴是管理一个应用程序各种状态的方法,它实际上是一个“无价之宝”。它可以作为一个向导(wizard)、一个窗体界面,或者是一个智能按钮,根据当前的情况显示不同的外观,作出不同的反应。
  所有的影片剪辑也都有独立的时间轴,每个时间轴或者处于播放状态,或者处于停止状态。如果影片正在播放,它将一直播放下去,直到遇到stop()命令(一个特例是该时间轴仅包含一帧)。
  Flash的开发人员总是使用时间轴来制作动态内容;然而,开发人员总是把影片剪辑的每个帧停下来,把每个帧用作不同的状态,甚至,Flash的开发人员在舞台上纯粹使用程序代码创建交互式的动态内容。
  读者只有理解“Flash是基于时间轴的应用程序”,才能从根本上解决开发过程中变量的作用域问题。任何应用程序开发中,变量的作用域都是最基本的、也是最重要的认知。
  读者只有理解“Flash是基于时间轴的应用程序”,才可能彻底将层和层级的关系理清,从而使得开发过程焕然一新。
  早在5年前,我提出Flash Player虚拟机概念;5年后的今天,MacroMedia公司提出了AVM(ActionScript虚拟机)的概念。所有的应用皆集于Flash Player,这是每一个Flash的开发人员都应该理解的。
  这本书并不是简单例子的罗列,也绝非帮助系统的“抄袭”,我们要做的是告诉读者该怎样做,以及为什么这样做。
  要首先澄清的事实
  过去,ActionScript有两种语言编写风格,即AS 1.0和AS 2.0。前者遵循ECMA-262第3版所制定的规范,后者遵循ECMA-262第4版制定的规范,但它们的实现只有一种,即Flash Player VM(Macro-Media公司称为AVM1)。
  现在,ActionScript有了第三种语言编写风格,即AS 3.0,而它的实现也增加了一种,这就是AVM2(ActionScript虚拟机第二版)。虽然AVM2也内嵌于Flash Player当中,但它与前一个Action-Script实现(AVM1)已有根本不同。
  要认识AVM版本间的不同,最好的方法是与微软CLR作一个对比。区别主要体现在“实现”上,因为微软CLR是通用语言,它并没有为特定的语言编写风格(C#.NET、JS.NET或者VB.NET)专门定义一个实现。
  AVM也与Mozilla的JavaScript实现不同,因为Mozilla有两种JavaScript实现:一种实现使用C完成(也就是众所周知的SpiderMonkey),另一种实现使用Java完成(也就是众所周知的Rhino)。它们实现的是同一种语言。
  这也表明Flash Player将最终作为一个AVM引擎来对待。
  AS 2.0中的面向对象编程(OOP)功能是基于当前正由ECMA TC39-TG1开发的ECMAScript 4草案建议开发的。由于ECMA-4建议尚未成为一个标准,并且仍然在不断更改,因此AS 2.0并不严格遵循此规范。
  AS 3.0(同样遵循ECMA-262第3版)应该是对AS 1.0的完善,这一完善是十分必要的,并解除了开发人员对ActionScript的误解:AS 2.0是对AS 1.0的增强。但仍要提醒用户注意的是,AS 3.0不会取代AS 1.0。
  MacroMedia公司的意图是很明显的,它将使Flash Player成为像.NET那样的CLR,各种风格的开发人员都可以在自己熟悉的环境中编写代码,而在同一个容器中运行,并且可以协同工作。
  现在,Flash离这一目标越来越近……
  AS 2.0和AS 1.0最终被编译成相同的代码在同一个虚拟机内运行,而AS 3.0保留了AS 2.0的一些语法特点而增强了AS 1.0,当它被编译成新的代码后在新的虚拟机内运行。
  开发人员应该选择自己熟悉的编程风格学习一种ActionScript,另外应该注意的是Action-Script的版本仅是对创作环境而言,对于Flash Player运行环境而言,ActionScript的版本无任何意义。
  读者在学习过程中,可以随时阅读附录C和附录D关于ActionScript 3.0的内容,以便很快了解几种不同版本的ActionScript之间的区别。
  例子是最有说服力的,下面就举例说明。滤镜是Flash Professional 8新增的功能,用户不但可以使用AS 2.0语法来完成,也可以使用AS 1.0来完成。
  ActionScript 2.0的代码:
  import flash.filters.BevelFilter;
  import flash.filters.DropShadowFilter;
  var filter_1:BevelFilter = new BevelFilter(5, 45, 0xB5FFC8, 1, 0x44FF73, 1, 5, 5, 1, 3, "inner", false);
  var filter_2:DropShadowFilter = new DropShadowFilter(5, 45, 0x0BD43D, 1, 12, 12, 1, 1, false, false, false);
  var filter_3:DropShadowFilter = new DropShadowFilter(5, 45, 0x0BD43D, 1, 5, 5, 1, 1, true, false, false);
  var myFilters:Array = myMovieClip.filters;
  myFilters.push(filter_1);
  myFilters.push(filter_2);
  myFilters.push(filter_3);
  myMovieClip.filters = myFilters;
  ActionScript 1.0代码:
  var filter_1 = (new flash.filters.BevelFilter(5, 45, 11927496, 1, 4521843, 1, 5, 5, 1, 3, "inner", false));
  var filter_2 = (new flash.filters.DropShadowFilter(5, 45, 775229, 1, 12, 12, 1, 1, false, false, false));
  var filter_3 = (new flash.filters.DropShadowFilter(5, 45, 775229, 1, 5, 5, 1, 1, true, false, false));
  var myFilters = myMovieClip.filters;
  myFilters.push(filter_1);
  myFilters.push(filter_2);
  myFilters.push(filter_3);
  myMovieClip.filters = myFilters;
  谁应该读这本书,应该怎样读这本书
  以下人员应该阅读这本书:
  * 具有Web应用程序开发经验的程序员,包括JavaScript程序员、C#程序员、VB程序员、Java程序员等。
  * Flash动画设计人员。
  * 经验丰富的ActionScript程序员。
  JavaScript程序员
  作为一名JavaScript程序员,学习Flash和ActionScript是不错的选择。它可以让您开发那种给用户带来更充分体验的应用程序,并且您也不必担心会有IE和Netscape之间的差异。
  JavaScript程序员学习Flash和ActionScript有特殊的优势,这是因为ActionScript和JavaScript都是基于ECMA-262(欧洲计算机制造商协会)标准,两者具有某种“兄弟般的亲缘关系”。
  事实上,很多JavaScript脚本不经任何变化(或者是非常小的改动)就可以直接用于AS 1.0;同样很多AS 1.0脚本不经任何变化(或者是非常小的改动)就可以直接用于JavaScript。这就使得那些JavaScript程序员可以很轻松地掌握AS 1.0脚本语言,并由此也可以迅速掌握AS 2.0。
  下面是ActionScript和JavaScript的一些差异:
  1)ActionScript不支持特定于浏览器的对象,例如Document、Window和Anchor。
  2)ActionScript没有为所有JavaScript内置对象都提供支持。
  3)ActionScript不支持某些JavaScript语法构造,例如语句标签。
  4)在ActionScript中,eval()函数只能执行变量引用。
  5)AS2支持ECMA-262规范中没有的一些功能,例如类和强类型。这些功能中的很多功能都取自ECMAScript(ECMA-262)第3版语言规范。
  6)ActionScript不支持使用RegExp对象的正则表达式。但是,Central却支持RegExp对象(这可能意味着,Central上存在另外一个ActionScript实现)。
  实际上,用户一旦了解了这些差异,只需掌握时间轴的操作就可以完成基本的Flash开发体验。接着要学习的就是Flash强大的类库,我相信这是一个非常愉快而简单的过程。
  C#和VB.NET程序员
  微软的C#也符合ECMA标准,但它是一个独立的标准:ECMA-334(Microsoft公司更愿意称这一标准为ECMA-C#)。
  虽然ECMA-334是一个不同的规范,但它与ECMA-262之间也相互借鉴,这也为C#程序员轻松掌握ActionScript提供了便利。
  关于名称空间
  1)Flash使用“包”,而.NET使用“名称空间”。
  Flash使用包这个概念来组织类,并且包必须使用目录来组织;而.NET使用名称空间来组织类,名称空间位于程序集缓存中,并不需要使用目录来组织。
  但应当注意的是,Flash中包的概念仅限于创作环境(也就是编译器),一旦编译完成,包这个概念就消失了;而.NET中名称空间这个概念不但可以用在创作环境中(供编译器调用),而且可以用在运行过程中(供CLR调用)。
  2)Flash和.NET在包和名称空间的实现方面也不相同。
  VB.NET使用下面的语法来实现名称空间:
  Namespace Remoting.com.ysf  
    Public Class ysfFood   
    ............  
  End Class End Namespace
  C#.NET使用下面的语法来实现名称空间(甚至名称空间可以嵌套):
  Namespace Remoting.com.ysf{  
    Public Class ysfFood{  
    }
  }
  Flash则使用更加简单的点语法来实现包:
  class Remoting.com.ysf.ysfFood {
  }
  关于类
  1)在限定类以及类的方法和属性时,AS 2.0仅有“public”、“private”、“static”这三个限定词;而.NET类中限定词比较多:C#.NET类使用“public”、“private”、“internal”、“static”、“final”、“protected”、“sealed”等限定词,而VB.NET类则使用“public”、“private”、“static”、“protected”等限定词。
  2)在定义抽象类(有时也统称为接口)方面,C#.NET可以使用“abstract”、“interface”关键字来定义,而AS2和VB.NET仅有“interface”关键字。
  3)在扩展和继承方面,C#.NET统一使用冒号(:)来扩展、继承基类和接口;在VB.NET中使用Inherits关键字创建继承,使用Implements关键字实现接口;而AS 2.0使用extends关键字创建继承。此外,VB.NET可以使用关键字NotInheritable来阻止类的继承,AS 2.0则没有这样的方法。
  VB.NET可以从任一子类使用MyBase关键字以调用基类中的任何属性或方法。AS 2.0使用super关键字从任一子类调用基类中的任何属性或方法。
  4)在引用类方面,VB.NET使用“Imports”关键字,C#.NET使用“using”关键字,而AS 2.0使用“Import”关键字。
  Java程序员
  Java并不符合任何一个ECMA规范,但这并影响您快速掌握AS 2.0。实际上,相对于C#来说,Java更接近于AS 2.0。
  当您熟悉Java,并开始学习AS2时,有以下几点需要特别注意。
  关于package
  1)Flash和Java使用包的环境不同。虽然Flash和Java都使用包这个概念,但应当注意的是,Flash中包的概念仅限于创作环境(也就是编译器)。一旦编译完成,包这个概念就消失了,因为运行时(Flash Player)不会使用它;而Java中包概念不但可以用在创作环境中(供编译器调用),而且可以用在运行过程中(供JVM调用)。
  2)Flash和Java在包的实现方面也不相同。Java使用下面的语法来实现包:
  package Remoting.com.ysf;
  public class ysfFood {
  }
  Flash则使用更加简单的点语法来实现包:
  class Remoting.com.ysf.ysfFood {
  }
  关于类
  1)在限定类以及类的方法和属性方面,AS 2.0仅有“public”、“private”、“static”这三个限定词,而Java类则还有“final”、“protected”两个限定词。
  2)在定义抽象类(有时也统称为接口)方面,Java可以使用“abstract”、“interface”关键字来定义,而AS 2.0仅有“interface”关键字。
  3)在扩展和继承方面,Java使用“extends”和“implements”两个关键字,而AS 2.0仅使用“extends”关键字。
  关于语法
  .NET Java和AS 2.0都是严格数据类型的语言,但实现的方式略有不同,另外,一些语句的功能也有所不同,您可以通过“飞快”的阅读第2章和第3章的内容快速地掌握它。
  动画设计人员
  动画设计人员应该学习怎样使用ActionScript开发交互性更强的、更加绚丽的Flash,并降低网络消耗。
  本书特别为动画设计人员作了优化:在介绍程序的功能时,首先介绍如何使用创作环境创建图形和动画效果,然后介绍如何使用ActionScript编写程序代码来实现同样的功能,另外还介绍了怎样通过增强的程序代码优化该功能。这符合一个动画设计人员要学习ActionScript的基本过程。
  经验丰富的ActionScript程序员
  已经具有丰富ActionScript开发经验的程序员显然应该将本书视为必读的图书,这是由本书特点决定的。
  以前的ActionScript知识可以帮助您以比别人更快的速度阅读本书、理解本书,这是毋庸置疑的。实际上,这本书是针对您以前的ActionScript知识的一个提高。
  使用本书前的准备和配置
  在阅读本书前,安装一个创作环境软件是十分必要的。ActionScript脚本语言的真正对象是Flash Player而非Flash创作软件,事实上,不单单是Flash Professional 8,使用其他的创作工具(例如Visual C++),只要是正确地使用了Flash Player软件开发工具包(SDK),用户就能创作出令人惊讶的Flash文档来(这也是为什么您能看到有一些开源的ActionScript编译器的原因)。
  当然,Flash Professional 8创作软件是开发Flash应用的最佳之选,因此建议您选择并安装Flash Professional 8。
  在安装完毕Flash Professional 8后,为了应用Flash开发网络应用程序,建议您安装IIS,这可以通过“添加和删除程序”对话框中的“添加和删除Windows组件”选项来完成。
  还建议您使用默认安装,这会将Web根目录设置为C:\Inetpub\wwwroot,在该目录下创建一个名为crossdomain.xml的文件,输入下面的一行代码:
  < xml version= "1.0" >
  <cross-domain-policy> 
   <allow-access-from domain= "*"/>
  </cross-domain-policy>
  这仅用于测试环境,是否能用于部署,还需咨询主机的管理员。
  如何与作者沟通
  作者十分欢迎与读者沟通。作者准备不断对本书内容进行更新或者勘误。作者的联系方式如下:
  e-mail: zhang-yafei@hotmail.com(首选的推荐方式)
  MSN Messager: zhang-yafei@hotmail.com
  MSN Spaces: http://spaces.msn.com/mebers/zhang-yafei

封底文字

本书以Flash Professional 8中文版为创作环境,以 ActionScript 2.0 为主线,结合示例系统阐述Flash ActionScript X 应用开发的基础知识和基本方法:首先从变量、函数、基本程序结构、键盘和鼠标事件等基础知识出发,然后从面向对象程序设计的角度介绍Flash基础类和对象、多时间轴、组件、声音、视频,ActionScript 的调试技术,以及创建图形和动画特效的技术,最后提供了ActionScript的高级应用主题,如Flash网络应用程序、移动设备应用程序和通信应用程序的开发。 主要内容 第一篇 (第1~4章),介绍了在Flash Professional 8 环境下进行Flash开发的一些基本概念以及用于交互式应用程序的基础知识,使初学者对Flash有一个初步的认识。 第二篇 (第5~13章),介绍ActionScript语言的核心——Flash基础类,这些类构成了Flash应用开发的基石,可以构建交互性、复杂的应用程序。 第三篇 (第14~15章),介绍了如何利用Flash基础类将视频、音频、数据集成到一起,创建富于表现力的图形和动画效果。 第四篇 (第16~19章),作为进阶内容,提供了ActionScript的高级应用主题,如Flash网络应用程序、移动设备应用程序和通信应用程序的开发。 * 附录中的内容便于课堂上的基础教学。 * 附赠光盘中收录了书中全部案例的源文件和相关素材,以及部分有用的技术文档。

图书目录

第一篇  ActionScript开发基础知识
第1章  Flash应用程序开发入门 2
1.1  认识ActionScript开发环境 2
1.1.1 “动作”面板 2
1.1.2 “动作”面板助手模式 3
1.1.3  自定义ActionScript编辑器环境 4
1.1.4  自动代码提示功能 5
1.2  控制时间轴 6
1.2.1  控制影片时间轴的播放和停止 7
1.2.2  跳转场景或者帧 7
1.3 “Hello World”应用程序 8
1.4  ActionScript代码的位置 10
1.4.1  在帧中编写ActionScript程序代码 10
1.4.2  在对象上编写ActionScript程序代码 10
1.4.3  在外部类文件中编写ActionScript 程序代码 11
第2章  声明变量和严格数据类型 12
2.1  定义变量 12
2.1.1  常量 12
2.1.2  声明变量 13
2.1.3  为变量赋值 14
2.2  严格数据类型和数据类型检查 14
2.2.1  数据类型 15
2.2.2  类型检查 17
2.3  使用变量 18
2.3.1  变量作用范围 18
2.3.2  在程序中使用变量 21
2.3.3  创建和使用Object 22
2.3.4  创建和使用数组 23
2.4  ActionScript的语法约定 26
2.4.1  点语法 26
2.4.2  花括号 26
2.4.3  分号 26
2.4.4  圆括号 26
2.4.5 字母的大小写 27
2.4.6  程序注释 27
2.4.7  关键字 28
第3章  数据运算、流程控制和自定义 函数 29
3.1  数据类型和运算符 29
3.1.1  运算符的使用规则 29
3.1.2  算术运算符 31
3.1.3  字符串运算符 32
3.1.4  位运算符 32
3.1.5  逻辑运算符 32
3.1.6  赋值运算符 34
3.1.7  其他运算符 35
3.2  流程控制 35
3.2.1  if...else条件语句 36
3.2.2  do...while循环 37
3.2.3  for循环 38
3.2.4  for...in循环 38
3.2.5  switch条件语句 39
3.2.6  其他的流程控制 40
3.2.7  try...catch..finally语句 41
3.2.8  throw语句 43
3.3  自定义函数 43
第4章  基本交互控制—响应键盘和 鼠标 45
4.1  创建基于时间轴的应用程序 45
4.1.1  准备UI素材 46
4.1.2  添加关键帧完成窗口状态 47
4.1.3  添加交互功能改变状态 47
4.2  使用对象的on语句响应鼠标和键盘 事件 48
4.2.1  区别帧程序和对象程序 48
4.2.2  简单的对象事件响应 49
4.2.3  使用按钮影片剪辑 53
4.2.4  响应鼠标双击事件 53
4.2.5  响应组合键事件 56
4.3  使用事件处理方法 57
4.3.1  调用事件方法 59
4.3.2  为事件方法定义函数 59
4.3.3  在事件函数内使用this关键字 60
4.4  使用Key、Mouse和Selection类响应 事件 60
4.4.1  使用内建的Key类监听键盘事件 60
4.4.2  使用内建的Mouse类监听鼠标事件 63
4.4.3  使用内建的Selection类监听焦点事件 65
第二篇  精通Flash基础类和面向对象编程
第5章  使用ActionScript核心类 68
5.1  在ActionScript程序代码中使用内建类 68
5.1.1  访问对象属性 68
5.1.2  调用对象方法 69
5.1.3  使用对象的事件处理函数 69
5.2  使用Date类建造完整日历及时钟 69
5.2.1  Date类基本用法 69
5.2.2  使用Date类创建日历及时钟应用 程序 71
5.3  使用Math类和Number类 79
5.3.1  使用Math类进行复杂的数学运算 79
5.3.2  使用Number类进行 80
5.3.3  使用Math类构造三角函数几何 曲线 80
5.4  使用String类处理字符串 83
5.4.1  创建打字机效果 84
5.4.2  创建鼠标跟随效果 85
5.5  使用Array类处理数组 87
5.6  使用Boolean类处理逻辑值 88
5.7  使用Function对象和arguments对象增强函数功能 88
5.7.1  Function对象 88
5.7.2  arguments对象 90
第6章  应用多时间轴和控制影片剪辑 92
6.1  在Flash创作环境中引用对象 92
6.1.1  多时间轴的概念 92
6.1.2  多时间轴的层级关系 93
6.1.3  定位通信的目标 94
6.1.4  绝对路径和相对路径 95
6.2  影片剪辑的基本控制 97
6.2.1  影片剪辑的播放与停止 98
6.2.2  影片剪辑的拖放 98
6.2.3  动态设置和获取影片剪辑的属性 99
6.2.4  影片剪辑的复制和删除 101
6.2.5  创建彗尾动画效果 102
6.3  深入MovieClip类的方法、属性和事件 105
6.3.1  正确理解影片剪辑 105
6.3.2  MovieClip的属性 105
6.3.3  影片剪辑的基本方法和事件 106
6.3.4  影片剪辑的混合模式 106
6.4  使用影片剪辑对象和Color类绘图 106
6.4.1  Color类的语法 106
6.4.2  影片剪辑对象的绘图方法 107
6.5  Button类的方法、属性和事件 107
6.6  开发Flash应用程序的三个基本步骤 108
6.6.1  创建应用程序 109
6.6.2  定义Flash影片的发布设置 118
6.6.3  测试动画和交互功能 120
第7章  创建自定义类和进行面向对象的编程 122
7.1  关于面向对象设计和类 122
7.2  创建和使用第一个自定义类 124
7.2.1  创建类 124
7.2.2  创建类的实例和调用类的方法 125
7.3  自定义类的创建 126
7.3.1  为类定义属性和方法 126
7.3.2  创建构造方法 127
7.3.3  使用包 128
7.4  访问类的属性和方法 129
7.4.1  导入类 129
7.4.2  控制成员访问 130
7.5  类的继承和创建子类 131
7.5.1  创建子类 131
7.5.2  重写方法和属性 132
7.6  区别实例成员和类成员 133
7.6.1  创建类成员 133
7.6.2  类成员和子类 135
7.7  创建和使用接口 135
7.7.1  创建接口 135
7.7.2  创建接口作为数据类型 136
7.8  创建动态类 136
7.9  类路径 137
7.9.1  全局类路径和文档级类路径 137
7.9.2  创作环境如何解析类引用 138
7.9.3  修改类路径 138
7.10  隐式获取/设置方法 139
7.11  类的编译和导出方式 140
7.12  扩展MovieClip类以创建和使用子类 140
7.12.1  创建MovieClip子类 140
7.12.2  将子类分配给影片剪辑元件 141
7.13  扩展Error类以创建自定义错误 141
7.14  类和Object类的关系 142
7.14.1  prototype属性和__proto__属性 142
7.14.2  使用Object类 143
第8章  设计用户界面和使用组件 144
8.1  使用文本框和定义文本格式 144
8.1.1  在创作环境中使用文本框 145
8.1.2  使用TextField动态设置文本框 146
8.1.3  使用TextField响应文本框事件 和处理文本 148
8.1.4  使用TextFormat动态设置文本 格式 150
8.1.5  使用HTML标签动态设置文本 格式 152
8.1.6  使用样式表动态设置文本格式 153
8.1.7  动态创建和使用文本框 157
8.2  结合UIScrollBar组件创建滚动文本框 158
8.2.1  创建滚动文本框 158
8.2.2  改变组件的外观 159
8.3  动态处理静态文本 160
8.4  使用Flash Professional 8内建组件 161
8.4.1  使用组件的通用方法 162
8.4.2  改变组件外观 162
8.5  使用组件和文本框定制Web应用程序表单 164
8.5.1  使用Flash创建Web应用程序表单 164
8.5.2  使用组件定制表单要点解析 171
8.6  使用Stage类设置舞台功能 172
8.7  自定义Flash Player右键菜单 173
8.7.1  使用ContextMenu对象 173
8.7.2  使用ContextMenuItem对象 173
第9章  在Flash中使用声音 176
9.1  在Flash 8中使用声音的基础知识 176
9.2  为影片定义背景声音 176
9.3  Flash 8声音设置 179
9.3.1  事件声音和声音流 179
9.3.2  声音效果 180
9.3.3  应用实时音频 182
9.4  多声音混合实现交互功能 183
9.5  自己设计MP3播放器 185
9.5.1  了解声音播放器的功能 186
9.5.2  准备UI界面 186
9.5.3  创作应用程序播放导入的声音 187
9.5.4  使用Sound对象创建MP3播放器 193
9.6  控制影片中的全局声音 200
第10章  在Flash中使用视频 201
10.1  了解编码解码器 201
10.1.1  关于On2 VP6和Sorenson Spark 视频编码解码器 201
10.1.2  数字媒体的压缩方式 202
10.2  创作内嵌视频的Flash影片 202
10.2.1  导入视频文件 202
10.2.2  控制导入的视频 206
10.3  应用实时视频 207
10.4  创建FLV视频文件 208
10.4.1  使用Flash Professional 8创建FLV 视频文件 208
10.4.2  从视频编辑应用程序中导出FLV 文件 209
10.4.3  使用Flash 8 Video Encoder创建 FLV视频文件 211
10.4.4  创建具有alpha通道的.FLV视频 文件 211
10.5  播放外部的FLV文件 212
10.5.1  使用Media组件播放外部视频 文件 212
10.5.2  使用NetStream对象和Video 对象播放外部视频文件 215
第11章  Flash和XML集成开发 222
11.1  XML文档基本语法 222
11.2  在Flash影片应用程序中加载和解析 XML文档 222
11.2.1  创建XML对象、解析XML文档 222
11.2.2  加载和解析外部的XML文档 223
11.2.3  使用XMLNode对象处理XML 文档 223
11.2.4  使用XML对象处理XML文档 225
11.2.5  使用XML对象进行口令验证 231
11.2.6  XMLSocket对象信息处理方法 233
11.3  基于XML的数据绑定 235
11.3.1  使用XMLConnector组件进行 数据绑定 235
11.3.2  数据组件和UI组件如何进行绑定 238
11.4  使用XML对象创建标准的地址簿 管理系统 238
11.4.1  了解地址簿管理系统的工作原理 238
11.4.2  建立浏览记录机制 239
11.4.3  建立添加记录机制 243
第12章  系统支持侦测与设置 250
12.1  MSAA和Accessibility 250
12.1.1  计算机辅助功能与MSAA 250
12.1.2  Flash Professional 8的辅助功能(Accessibility) 251
12.2  系统性能侦测 252
12.2.1  视频和音频侦测 254
12.2.2  显示器性能侦测 254
12.2.3  Flash Player信息侦测 255
12.2.4  其他信息侦测 255
12.3  深入Flash Player内核—彻底解决 Flash Player支持中文问题 255
12.3.1  Flash Player字符编码标准 255
12.3.2  Flash Player解决中文字符的三种方法 257
12.4  使用剪贴板 260
第13章  ActionScript脚本调试原理 与技术 262
13.1  ActionScript脚本错误的种类 262
13.1.1  编译错误 262
13.1.2  运行时错误 262
13.1.3  逻辑错误 263
13.2  设置Actionscript脚本调试环境 263
13.2.1  卸载播放器 263
13.2.2  安装Debug Player 264
13.3  Actionscript脚本调试工具的使用 方法 265
13.3.1  “动作”面板 265
13.3.2 “输出”面板 265
13.3.3  Debugger工具 268
13.4  使用Debugger脚本调试工具举例 271
13.5  Actionscript脚本创作和调试指导 278
13.5.1 良好的编程习惯 278
13.5.2  如何避免犯常见的错误 278
第三篇  动态创建图形和动画效果
第14章  动态处理影片剪辑和位图以 增加特效 282
14.1  使用滤镜创建水晶字 282
14.1.1  在创作环境中使用滤镜创建 水晶字 282
14.1.2  使用滤镜程序代码在运行时 动态创建水晶字 283
14.2  使用flash.geom包动态处理图形 284
14.2.1  使用ColorTransform类动态变换 影片剪辑的颜色 284
14.2.2  使用Matrix类动态变换影片剪辑 的形状 285
14.2.3  使用Point类动态获取像素点 288
14.2.4  使用Rectangle类动态获取对象的 区域 289
14.2.5  使用Transform类获取和设置影片 剪辑的颜色和坐标 290
14.3  使用flash.filters包动态创建滤镜 291
14.3.1  创建滤镜 292
14.3.2  将滤镜应用于对象实例和 BitmapData实例 292
14.3.3  使用flash.filters包定义滤镜 293
14.3.4  使用滤镜创建动态效果 295
14.3.5  应用滤镜的注意事项 296
14.4  使用BitmapData类动态处理位图 297
14.4.1  BitmapData和MovieClip的结合 299
14.4.2  怎样获取图形点的像素颜色 299
14.4.3  怎样分离和合成通道 300
14.4.4  图片像素级溶解过渡效果 301
14.4.5  应用置换映射滤镜创建图像 扭曲效果 303
14.4.6  应用矩阵卷积滤镜创建模糊 效果 304
14.5  使用混合模式动态处理图形 305
第15章  使用组件类动态处理影片剪辑和组件以增加特效 309
15.1  使用Tween类动态创建补间动画 309
15.1.1  关于缓动类和方法 310
15.1.2  Tween类的方法、属性和事件 310
15.2  将缓动方法应用于组件 311
15.2.1  将缓动方法应用于Accordion 组件 311
15.2.2  将缓动方法应用于ComboBox 组件 312
15.2.3  将缓动方法应用于DataGrid 组件 312
15.3  动态创建过渡动画效果 313
15.3.1  使用TransitionManager类 313
15.3.2  基于过渡的类 314
第四篇  高 级 主 题
第16章  创建基于屏幕的应用程序 322
16.1  使用屏幕 322
16.1.1  Flash屏幕应用程序的创作环境 323
16.1.2  屏幕与ActionScript脚本的交互 方式 323
16.2  创建Flash表单应用程序 324
第17章  创建网络应用程序 328
17.1  浏览器怎样从服务器接收和发送 数据 328
17.2  Flash影片应用程序接收和发送数据 329
17.2.1  创建Flash应用程序影片 330
17.2.2  创建和配置ASP网页 332
17.2.3  测试应用程序 332
第18章  Flash移动设备开发指南 333
18.1  Pocket PC开发指南 334
18.1.1  Pocket PC开发原理 334
18.1.2  Pocket PC开发示例 335
18.1.3  在Pocket PC Phone Edition上 使用Flash拨号 342
18.1.4  为Pocket PC优化设计 343
18.2  Nokia 9200系列通信器开发指南 347
18.3  关于Flash Lite 348
18.4  为掌上设备优化脚本代码 348
第19章  Flash实时通信开发指南 352
19.1  安装和配置Flash Media Server 2 服务器运行环境 353
19.1.1  关于安装的文件 354
19.1.2  启动和停止服务器 355
19.1.3  安装Flash Media Server服务器 更新 355
19.2  安装开发和调试环境 356
19.2.1  安装创作环境 356
19.2.2  安装Flash Media Server 2组件 356
19.2.3  安装、配置麦克风和照相机 356
19.3  创建第一个Flash通信应用程序 357
19.4  Flash Player设置功能 359
19.4.1  安全性和本地存储设置 359
19.4.2  麦克风和照相机的侦测与设置 361
附录A  默认值 363
附录B  保留的关键字 364
附录C  关于ActionScript 1.0 366
附录D  关于ActionScript 3.0 370

教学资源推荐
作者: 彭波 孙一林
作者: 姚敏 等编著
作者: 康卓 熊素萍 张华
参考读物推荐
作者: 陈伟介
作者: [法] 尼古拉斯·莫德奇克(Nicolas Modrzyk)著