Flash ActionScript 3殿堂之路

Flash ActionScript 3殿堂之路
作 者: 孙颖
出版社: 电子工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Flash
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  孙颖,网名“黑羽”,英文名“Kingda Sun”,浙江大学硕士。浙江大学元老级闪客,曾任蓝色理想网站Flash版版主。现任杭州Genway Online Learning Tech Co.,Ltd前端架构总设计师。拥有著名的个人Flash技术博客:WWW.kingda.org.Google Pagerank值高达6,被Adobe官方MXNA收录。也被国内蓝色理想BXNA等诸多聚合器收录。另拥有www.actionscript3.cn站点,专门讨论ActionScript 3相关开发话题。经历:第二届浙江省大学生多媒体竞赛课件类省一等奖,动画类省二等奖。浙江大学第二届大学生多媒体作品设计竞赛一等奖。担任前端设计的NCE online课件被国家教育部评定为国际先进课件。目前在Genway公司开发国内一流的大型RIA英语学习网站:WWW.bingoenglish.com

内容简介

本书是国内第一本“面向原因式”(Why-Oriented Book)与国际同步的、全面系统介绍ActionScript 3的书籍。本书以前端系统架构师的眼光,将面向对象思想作为主轴讲述ActionScript 3的精髓;从系统架构的高度,清楚讲解ActionScript 3的API设计原因、原理和应用。面向对象思想和ActionScript 3系统架构是RIA开发的任督二脉,打通之后,会发现所有ActionScript 3知识都是共通共融、浑然一体的,从而再进行学习或开发,就会势如破竹、轻松如意。全书共分5个部分。第1部分:ActionScript 3语言基础;第2部分:ActionScript 3 面向对象编程;第3部分:ActionScript 3 核心类;第4部分:ActionScript 3主要的Flash Player API;第5部分:ActionScript 3 视觉编程。附书光盘内容为书中实例源文件和本书中典型章节的操作演示视频教程。本书适合有基础编程知识(不限语言)的Flash、Flex、AIR爱好者和开发人员,尤其适合ActionScript 2读者。本书还可为Java、C#等其他OOP语言爱好者学习ActionScript 3提供横向比较和导读。

图书目录

第1部分 ActionScript 3语言基础

第1章 ActionScript 3语言介绍与开发环境 3

1.1 ActionScript 3介绍 3

1.1.1 ActionScript发展历史简述 4

1.1.2 Flash Player 9和AVM 2 5

1.1.3 Macromedia和Adobe的合并 6

1.1.4 ActionScript 3与开源世界 6

1.2 ActionScript 3的特色 6

1.2.1 核心语言新特色 7

1.2.2 Flash Player API 功能的新特色 8

1.3 ActionScript 3 程序开发工具 9

1.3.1 Flash CS3 9

1.3.2 Flex 2 、Flex 3及Flex SDK 9

1.4 *ActionScript 3程序的编译流程 10

1.5 熟悉开发环境和第一个“Hello,world”例子 10

1.5.1 在Flash CS3中创建“Hello,world” 11

1.5.2 在Flex Builder中创建“Hello, world” 12

1.6 本章小结 13

第2章 ActionScript 3语言基本元素 15

2.1 ActionScript 3中数据的本质及重要性质 15

2.1.1 *一切都是对象(Object) 15

2.1.2 ActionScript 3中数据类型概述 16

2.2 变量的声明和使用 16

2.2.1 声明变量的语法 17

2.2.2 变量命名规则 17

2.2.3 *变量的本质 18

2.2.4 *重要:值类型和引用类型的区别 19

2.2.5 基元数据类型的深入讨论* 21

2.3 使用const声明常量 23

2.4 基础(非基本)数据类型 23

2.4.1 布尔值:Boolean 24

2.4.2 数字:int、uint、Number 24

2.4.3 重要:使用int、uint、Number应当注意的事项 25

2.4.4 字符串:String 28

2.4.5 数组:Array 29

2.4.6 Object及关联数组 30

2.4.7 多维数组 32

2.4.8 Null、NaN、undefined及各自应用对象:变量的默认值 33

2.5 运算符、表达式及运用 35

2.5.1 什么是运算符、表达式?以及运算符的设计用意 35

2.5.2 在ActionScript 3中使用操作符 35

2.5.3 *运算符的本质 36

2.5.4 最常用的运算符:赋值运算符(=) 36

2.5.5 算术运算符:加、减、乘、除、模运算、求反运算 36

2.5.6 算术赋值运算符:+=、-=、*=、/=、%= 37

2.5.7 关系运算符(1):==、!=、===、!=== 38

2.5.8 关系运算符(2):>=,<=,>,<, 39

2.5.9 逻辑运算符(&&、||、!) 40

2.5.10 三元if-else运算符(?:) 41

2.5.11 typeof、is、as 41

2.5.12 *in 42

2.5.13 delete:ActionScript 3中的作用变了 42

2.5.14 优先级顺序 43

2.6 ActionScript 3的保留字 43

2.7 本章小结 44

第3章 ActionScript 3流程控制 45

3.1 什么是面向过程?看一个找书的例子 45

3.2 true和false:条件表达式的结果 47

3.3 if-else 47

3.3.1 最常用的if和if…else 47

3.3.2 if…else if … else的用法和注意点 48

3.4 循环 49

3.4.1 循环的三要素 49

3.4.2 while 50

3.4.3 do-while 50

3.4.4 for 51

3.4.5 * for…in 和for each…in 52

3.4.6 break和continue的简单用法 53

3.4.7 *控制嵌套循环的流程:break 和continue的标签用法 54

3.5 switch 57

3.6 本章小结 59

第4章 ActionScript 3中的函数及高级使用技巧 61

4.1 两种定义函数方法 61

4.1.1 函数语句定义法 61

4.1.2 函数表达式定义法 62

4.1.3 *两种定义法的区别和选择 62

4.2 参数 64

4.2.1 按值还是按引用来传入参数 64

4.2.2 设置默认参数 65

4.2.3 访问参数信息和…(rest)关键字 65

4.3 *函数的本质 66

4.3.1 函数语句定义法定义的函数对象本质 67

4.3.2 函数表达式定义法定义的函数对象本质 67

4.4 *函数高级使用技巧 68

4.4.1 技巧一:代理函数对象 68

4.4.2 技巧二:建立函数执行队列 68

4.4.3 技巧三:利用函数返回函数 70

4.4.4 技巧四:函数动态添加实例属性 72

4.4.5 技巧五:函数对象动态添加实例方法 72

4.5 本章小结 74

第2部分 ActionScript 3面向对象编程

第5章 类和对象——从定义到原理 77

5.1 第一个ActionScript 3简单的Class(类)例子 77

5.2 Class(类)和Object(对象) 79

5.2.1 Class和Object的权威定义 80

5.2.2 Class和Object的区别 81

5.3 Class的成员 81

5.4 Class和Object的创建和使用 82

5.4.1 创建Class 82

5.4.2 创建类的实例 83

5.5 Class和package(包) 83

5.6 实例属性和实例方法 84

5.6.1 如何声明实例属性 85

5.6.2 如何声明实例方法 85

5.6.3 如何访问实例属性和实例方法 86

5.7 静态属性和静态方法 88

5.7.1 静态属性和静态方法的使用场合 88

5.7.2 声明静态属性和静态方法 89

5.7.3 访问静态属性和静态方法 89

5.7.4 应用1:使用静态属性集中管理数据 90

5.7.5 应用2:使用静态属性部分实现Enumeration 91

5.7.6 应用3:实现工具类 92

5.8 构造函数 93

5.8.1 构造函数实例 94

5.8.2 构造函数只能使用public访问控制 95

5.8.3 构造函数的返回类型 95

5.9 Class的种类:动态类和密封类 96

5.10 this关键字 97

5.11 *ActionScript 3中的方法重载 99

5.12 *含有多个类的ActionScript 3类文件的标准例子 100

5.13 本章小结 102

第6章 ActionScript 3中的封装: 类的成员、类、包与访问控制 105

6.1 什么是封装 105

6.2 为什么需要封装 106

6.2.1 封装使修改代码更加容易和安全 106

6.2.2 封装让代码分成一个个相对独立的单元 107

6.2.3 封装让整个软件开发的复杂度大大降低 107

6.3 ActionScript 3中封装的几个层次 108

6.4 package(包) 109

6.4.1 包的导入(import) 109

6.4.2 使用Import避免命名冲突 111

6.4.3 package的创建和命名 112

6.5 *原理:编译器如何导入package 113

6.5.1 类路径 114

6.5.2 编译器导入package的顺序 114

6.6 类成员的访问控制 115

6.6.1 Internal:包内访问 115

6.6.2 public:完全公开 118

6.6.3 private:仅当前类可访问 118

6.6.4 protected:子类可访问 120

6.7 Getter和Setter方法 120

6.8 类(Class)的访问控制 122

6.9 包外类 123

6.10 本章小结 125

第7章 *命名空间 127

7.1 命名空间的简要解释 128

7.1.1 命名空间与一词多义 128

7.1.2 第一个命名空间的代码例子 129

7.1.3 命名空间无处不在 130

7.2 使用命名空间的流程 130

7.3 命名空间的本质 132

7.3.1 命名空间的唯一性 132

7.3.2 系统如何生成命名空间的默认uri 133

7.4 如何定义命名空间 133

7.4.1 将命名空间定义在独立的.as文件中 134

7.4.2 命名空间定义在类中 134

7.5 如何应用命名空间 135

7.6 如何引用命名空间 135

7.6.1 打开命名空间 136

7.6.2 使用命名空间名称限定符“::” 137

7.6.3 自定义命名空间和public 、private 、protected、internal 141

7.7 命名空间有哪些实际应用 143

7.8 本章小结 143

第8章 复合与继承 145

8.1 如何实现复合(Composition) 146

8.1.1 一个复合的例子 146

8.1.2 初始化复合的对象 148

8.1.3 复合与聚合的区别 150

8.2 如何实现继承 150

8.2.1 创建自定义类与ActionScript 3 默认的继承 151

8.2.2 继承的表现和一个具体例子 151

8.2.3 静态成员的继承 153

8.2.4 继承与访问控制 154

8.2.5 继承与重写(Override) 155

8.2.6 继承与私有方法:易错的误区 156

8.2.7 继承与super关键字 157

8.2.8 用final终止继承 157

8.2.9 何时使用final 158

8.3 *自定义命名空间的继承 158

8.4 何时用复合,何时用继承 161

8.5 本章小结 161

第9章 多态 163

9.1 数据类型检查和转换 164

9.2 向上转换(Upcasting) 166

9.2.1 简述里氏代换原则 167

9.2.2 向上转换(Upcasting)的代码例子 167

9.3 向下转换(Downcasting) 170

9.3.1 向下转换的两种方法 171

9.3.2 向下转换的代码例子 172

9.4 本章小结 173

第10章 *抽象类和接口 175

10.1 什么是抽象类(Abstract Class) 175

10.1.1 使用抽象类的原则 176

10.1.2 使用抽象类的例子 177

10.1.3 *如何用ActionScript 3实现真正的抽象类和抽象方法 177

10.2 什么是接口 179

10.2.1 *接口是OOP编程的重要基石 180

10.2.2 如何创建接口 181

10.2.3 如何实现接口 181

10.2.4 接口与多继承、向上转换、向下转换 184

10.2.5 接口的继承 186

10.2.6 接口类型 188

10.3 抽象类和接口的区别 188

10.3.1 何时使用抽象类,何时使用接口 189

10.3.2 *将接口和抽象类结合使用 190

10.4 本章小结 191

第3部分 ActionScript 3核心类

第11章 ActionScript 3核心类和全局函数 195

11.1 ActionScript 3中核心类和函数的变化及原因 196

11.2 核心类的数目和列表 196

11.3 核心类和函数的作用和地位 198

11.4 本章小结 198

第12章 数组:Array 199

12.1 数组(Array)的介绍 199

12.1.1 访问数组元素 199

12.1.2 数组的长度 200

12.1.3 多维数组 201

12.2 数组(Array)的基本操作 201

12.2.1 查找:indexOf、lastIndexOf 201

12.2.2 在数组首尾新增元素:push、unshift 202

12.2.3 删除数组首尾元素:pop、shift 203

12.2.4 在数组当中插入或者删除元素:灵活多变的splice 204

12.2.5 获取数组中的部分元素:slice 205

12.2.6 将多个元素或数组拼合成新的数组:concat 207

12.2.7 *数组的浅复制与深复制 208

12.2.8 排序:reverse、sort、sortOn 211

12.3 操作数组每个元素:forEach、every、 filter、map、some 214

12.3.1 5个方法的共同点 214

12.3.2 回调函数 215

12.3.3 代码示例 215

12.4 本章小结 217

第13章 字符串:String 219

13.1 CHAR在那里 219

13.2 在ActionScript 3中如何针对字符操作 220

13.2.1 运用charAt()和char CodeAt() 220

13.2.2 运用fromCharCode() 221

13.3 字符串是不变对象(immutable object) 222

13.4 ActionScript 3中的StringBuilder在哪里 223

13.5 +、+=及<、<=、>、>=在字符串操作中的重载 223

13.5.1 在ActionScript 3 中运算符的重载:+和+=的重载 224

13.5.2 关系运算符(<、<=、>、>=)的重载 224

13.6 常用的字符串操作 225

13.6.1 indexOf()的使用及与search()的区别 225

13.6.2 substring()、slice()和substr()的使用及区别 226

13.6.3 split()与正则表达式结合运用 227

13.6.4 如何一次性输入多行文本 227

13.7 实用的mx.utils.StringUtil工具类 228

13.8 本章小结 229

第14章 强大的正则表达式:RegExp 231

14.1 什么是正则表达式? 231

14.2 ActionScript 3 中的正则表达式 232

14.2.1 第一个正则表达式例子 232

14.2.2 正则表达式的两个构成部分 233

14.2.3 ActionScript 3中正则表达式的工作机制 233

14.3 正则表达式语法 234

14.3.1 正则表达式中的文字符号 234

14.3.2 正则表达式中的字符集 236

14.3.3 特殊的点号(.) 238

14.3.4 选择符 239

14.3.5 括号与分组 240

14.3.6 用正则表达式描述字符串的重复 240

14.3.7 注意正则表达式的贪婪性和懒惰性 241

14.3.8 用正则表达式来定位 242

14.3.9 正则表达式的5个标志位 243

14.3.10 正则表达式元字符优先级 243

14.4 正则表达式与字符串的结合使用详解 244

14.4.1 RegExp类的exec() 和 test() 244

14.4.2 String类的search()和match() 244

14.4.3 String类的replace()与正则表达式向后引用 245

14.5 常用的正则表达式 246

14.5.1 文本处理和输入限制常用正则表达式 246

14.5.2 网络和HTML代码方面的应用 246

14.5.3 表单验证 247

14.5.4 匹配数字 248

14.6 本章小结 248

第15章 XML数据处理 249

15.1 XML的概览 249

15.2 XML简要介绍 250

15.2.1 一个简单的XML示例 250

15.2.2 XML简明语法 251

15.2.3 如何编写一个结构优秀的XML 253

15.3 XML在ActionScript 3中的地位 254

15.3.1 E4X:更好的XML处理规范标准 255

15.3.2 ActionScript 2程序移植时,关于XML部分该如何处理 255

15.4 创建XML对象 256

15.4.1 使用构造函数创建XML对象 256

15.4.2 直接使用XML文本创建XML对象 256

15.5 使用运算符操作 XML数据 257

15.5.1 使用“.”与“@”直接访问、修改、创建和删除XML对象 258

15.5.2 使用“.”与“@”直接修改XML对象 259

15.5.3 使用“.”与“@”直接添加和删除子元素和属性 260

15.5.4 简单方便地搜索XML子元素和属性 261

15.5.5 *使用正则表达式或自定义函数搜索XML子元素和属性 263

15.6 用API实现的一些常用XML操作 264

15.7 *XML的命名空间 265

15.8 XML对象与XMLlist对象 268

15.9 本章小结 268

第16章 异常和错误的捕捉与处理 269

16.1 什么是异常和错误 269

16.1.1 一个简单的异常例子 270

16.1.2 异常的概念和在ActionScript 3中的实现 271

16.1.3 使用异常处理机制的好处 272

16.2 使用try-catch-finally处理异常 272

16.2.1 try 273

16.2.2 catch 274

16.2.3 finally 274

16.2.4 try-catch-finally的语法规则 274

16.3 使用throw抛出异常 275

16.4 自定义异常 277

16.5 ActionScript 3中异常的层次和结构 279

16.6 处理异常的原则和方式 280

16.6.1 三大提倡 281

16.6.2 三大忌讳 281

16.7 对异常事件的处理 282

16.8 本章小结 283

第4部分 ActionScript 3主要的 Flash Player API

第17章 ActionScript 3目前主要的API概览 287

17.1 ActionScript 3的API总览 287

17.2 Flash Player API架构和介绍 288

17.3 Flash CS3提供的API介绍 288

17.4 *第三方类库提供的API 289

17.4.1 Adobe官方提供的产品之外的类库 289

17.4.2 ActionScript 3 的3D应用 290

17.4.3 开源项目资源 290

17.5 本章小结 290

第18章 事件发送和处理 291

18.1 事件(Event)处理机制的产生和原理 292

18.1.1 示意图:点菜的例子 292

18.1.2 DOM3事件的执行流程 293

18.1.3 第一个事件处理代码例子 294

18.2 ActionScript 3事件机制的新特色 296

18.2.1 回顾ActionScript 1和ActionScript 2中的事件机制 296

18.2.2 ActionScript 3 事件处理机制形式上的不同 297

18.2.3 新特色:事件流机制与视图元件的紧密结合 297

18.2.4 新特色:侦听器优先级 298

18.2.5 新特色:侦听器弱引用 298

18.3 事件 298

18.3.1 Event类的属性 299

18.3.2 Event类的构造函数 299

18.3.3 Event类的方法 300

18.3.4 自定义事件类 300

18.4 侦听器 302

18.4.1 创建侦听器 303

18.4.2 侦听器中的this关键字 303

18.4.3 注册侦听器和移除侦听器 303

18.4.4 检测事件侦听器 303

18.4.5 *事件的优先级 304

18.4.6 *事件的弱引用 304

18.5 自定义类发送事件的3种方式 305

18.5.1 继承EventDispatcher类 305

18.5.2 复合EventDispatcher对象 307

18.5.3 *实现IEventDispatcher接口 308

18.6 本章小结 310

第19章 网络通信基础 311

19.1 ActionScript 3网络通信的流程 311

19.1.1 构建通信请求对象 312

19.1.2 发出数据请求 313

19.1.3 侦听器函数 313

19.2 读取3种数据格式的例子 314

19.2.1 读取文本格式数据 314

19.2.2 读取值对格式数据 316

19.2.3 读取二进制格式数据 317

19.2.4 监控加载进度 319

19.3 getURL()的继承人:navigateToURL() 319

19.4 提交数据的例子 320

19.5 简述安全模型 321

19.5.1 沙箱模型 321

19.5.2 跨域文件:crossdomain.xml 322

19.5.3 *授予脚本访问权限:Security.allowDomain() 323

19.6 本章小结 324

第5部分 ActionScript 3视觉编程

第20章 ActionScript 3视觉编程精要 327

20.1 什么是显示对象 327

20.1.1 ActionScript 3中显示对象等级结构 328

20.1.2 显示列表:显示对象模型 329

20.2 ActionScript 3中显示对象的种类 330

20.2.1 ActionScript 2中的MovieClip 330

20.2.2 ActionScript 3 显示对象种类划分:一个统一、两个层次 331

20.3 *显示对象类库架构 332

20.3.1 InteractiveObject类和非InteractiveObject类 332

20.3.2 容器类和非容器类 333

20.3.3 Sprite和MovieClip 334

20.3.4 *非Flash API的几个显示对象类 334

20.4 ActionScript 3视觉架构的优越性 334

20.4.1 更高效的渲染,更好的内存利用 335

20.4.2 自动化的深度管理 335

20.4.3 完整遍历显示列表 335

20.4.4 列表外的显示对象 336

20.4.5 更易于创建自定义的显示对象 336

20.5 本章小结 336

第21章 DisplayObject类与矢量图、位图 337

21.1 显示对象的一些基本概念 337

21.1.1 显示对象的可视属性列表 338

21.1.2 显示对象的其他属性 339

21.2 所有显示对象的抽象父类:DisplayObject类 340

21.3 矢量图 340

21.3.1 Graphics对象 341

21.3.2 绘制矢量图的例子 342

21.4 位图 342

21.4.1 位图和像素 342

21.4.2 Bitmap和BitmapData 343

21.4.3 使用BitmapData创建和改变位图 343

21.5 遮罩 345

21.5.1 定义普通遮罩 345

21.5.2 定义Alpha通道遮罩 346

21.6 文本 348

21.6.1 创建文本 348

21.6.2 捕获HTML文本超链接的信息 348

21.6.3 在文本框中追加文本请使用高效率的appendText() 350

21.7 碰撞检测 351

21.8 自定义显示对象类 352

21.9 本章小结 353

第22章 容器:DisplayObjectContainer与Sprite、MovieClip 355

22.1 容器的概念和实现 355

22.1.1 DisplayObjectContainer类 356

22.1.2 最轻量的容器:Sprite类 356

22.1.3 一个自定义容器类的例子 357

22.2 添加、删除视觉元件 358

22.2.1 Flash程序中所有显示对象的添加流程 358

22.2.2 addChild方法、removeChild方法和contains方法 359

22.2.3 重要:添删显示对象的注意点 359

22.3 深度管理 363

22.3.1 深度的产生顺序和一个注意点 363

22.3.2 addChildAt和removeChildAt 364

22.3.3 交换不同深度的对象:swapChildren和swapChildrenAt 365

22.3.4 重设列表中已有对象的深度:setChildIndex 365

22.3.5 操作深度的具体代码例子 366

22.4 访问和遍历容器子显示对象 367

22.4.1 3种访问方式的比较和选择 368

22.4.2 通过深度访问子显示对象 368

22.4.3 遍历容器的子显示对象 370

22.4.4 通过name访问显示对象 372

22.4.5 通过坐标访问显示对象 372

22.5 MovieClip(影片剪辑) 374

22.5.1 MovieClip的播放 374

22.5.2 为何在Flash创作工具中依然可以使用点号加影片实例名 访问子影片 375

22.5.3 未公开的API:方便实用的addFrameScript() 376

22.6 加载外部图像、SWF文件 377

22.6.1 加载SWF文件示例 377

22.6.2 域和安全性 378

22.6.3 AVM2的SWF文件与AVM1的SWF通信 379

22.6.4 访问被加载SWF文件的参数及访问网页传入的 参数(flashvars) 379

22.7 本章小结 380

第23章 Flash CS3:库元件的类绑定与Stage、文档类 381

23.1 类绑定的好处、原理和第一个例子 382

23.1.1 第一个类绑定的例子:自定义标签按钮 382

23.1.2 Flash创作工具中的类绑定 385

23.1.3 帧代码和类绑定的角色比较 385

23.1.4 绑定的选择:MovieClip子类和Sprite子类 386

23.2 如何在绑定类中访问影片内的子显示元件 386

23.3 绑定类中访问剪辑子元件的两种方法 388

23.3.1 手工声明public属性方法 388

23.3.2 自定义新属性方法 390

23.4 3种不同的类绑定 392

23.4.1 自动生成的类绑定及用代码直接生成库元件对象 392

23.4.2 元件与独立的类绑定 393

23.4.3 让不同的库元件继承自共同的类 394

23.5 舞台与文档类 396

23.6 本章小结 396

第24章 显示编程与事件、人机交互 397

24.1 *事件的事件流(Event Flow)机制 397

24.1.1 事件流机制的3个阶段 398

24.1.2 事件currentTarget属性和target属性 398

24.1.3 *事件侦听时的事件流阶段 399

24.1.4 *事件都能冒泡吗? 399

24.1.5 说明事件流机制的例子 399

24.2 鼠标相关事件 400

24.2.1 鼠标事件对象的目标 402

24.2.2 单击和双击、鼠标按下和松开 403

24.2.3 鼠标悬停和鼠标移走 405

24.2.4 *用代码模拟鼠标输入 407

24.3 键盘相关事件 409

24.3.1 监听键盘输入的例子 409

24.3.2 全局监听键盘事件 410

24.3.3 Tab键与tabChildren 410

24.4 拖曳、鼠标跟随 412

24.4.1 拖曳 412

24.4.2 鼠标跟随 413

24.5 本章小结 414

第25章 ActionScript 3动画编程 415

25.1 动画编程原理 415

25.1.1 TimerEvent.TIMER和Event.ENTER_FRAME比较 416

25.1.2 Event.ENTER_FRAME事件与ActionScript 2中的onEnterFrame 416

25.2 代码绘制 416

25.3 改变显示对象属性 418

25.4 使用Timer类实现动画效果 421

25.5 借助fl.transitions包中的现有类创建动画代码 422

25.5.1 Tween类的多种用法 423

25.5.2 TransitionManager的用法 424

25.6 Flash 创作工具与动画编程的结合: Animator的运用 425

25.6.1 原理:Motion XML的构造和Animator的使用 425

25.6.2 具体演示和代码实例 428

25.6.3 Animator使用技巧和资源 431

25.7 本章小结 432

第26章 *Flash创作工具和Flex协作开发组件 433

26.1 浅谈Flash CS3组件与类绑定的剪辑元件 433

26.2 Flex组件与Flash CS3创作内容如何结合 434

26.2.1 Flex组件架构对显示对象的要求 434

26.2.2 Flex Component Kit for Flash CS3的安装和使用 434

26.2.3 Flash CS3和Flex的桥梁:UIMovieClip 435

26.3 如何开发UIMovieClip组件 435

26.4 一个纯代码UIMovieClip组件的例子 435

26.5 本章小结 438

结束语   439

附录A   441

A.1 常用字符的ASCII码表 441

A.2 书中代码示例索引 441

参考文献  447