第1篇 基础语法篇 2
第1章 ActionScript语言简介 2
1.1 ActionScript历史与发展 2
1.2 ActionScript与RIA平台 3
1.3 ActionScript 3.0开发环境 4
1.3.1 Flash CS3安装 4
1.3.2 Flash CS3开发环境 7
1.3.3 Flex Builder 3.0安装 10
1.3.4 Flex Builder 3.0开发环境 12
1.4 ActionScript运行环境 15
1.4.1 ActionScript运行环境结构 16
1.4.2 FlashPlayer 17
1.5 第一个ActionScript应用 18
1.5.1 通过Flash构建HelloWorld 18
1.5.2 通过Flex构建HelloWorld 19
1.5.3 通过Flex创建ActionScript项目 22
1.6 常见面试题 24
1.7 小结 24
1.8 习题 24
第2章 ActionScript 3.0语法 26
2.1 数据类型 26
2.1.1 基本数据类型 26
2.1.2 复杂数据类型 28
2.1.3 数据类型转换装 29
2.2 变量 32
2.2.1 变量的定义 33
2.2.2 变量使用语法 33
2.2.3 变量作用域 35
2.3 运算符 36
2.3.1 基本运算符 36
2.3.2 前后缀运算符 37
2.3.3 算术运算符 38
2.3.4 位运算符 40
2.3.5 比较运算符 41
2.3.6 逻辑运算符 42
2.3.7 条件运算符 43
2.4 条件语句 44
2.4.1 if...else...与if...else if...语句 44
2.4.2 switch语句 46
2.5 循环语句 47
2.5.1 for循环语句 47
2.5.2 for...in和for each...in循环语句 50
2.5.3 while循环语句 51
2.5.4 do...while循环语句 52
2.6 函数 53
2.6.1 函数简介 53
2.6.2 独立函数 53
2.6.3 参数与返回值 54
2.6.4 函数对象 56
2.7 ActionScript 3.0基本语法的综合实例 57
2.7.1 九九乘法表 57
2.7.2 Fibonacci数列 59
2.7.3 日期计算 60
2.7.4 简单排序 61
2.8 常见面试题 63
2.8.1 概念类面试题 63
2.8.2 程序设计类面试题 63
2.9 小结 64
2.10 习题 64
第3章 面向对象基础 67
3.1 面向对象基本概念 67
3.1.1 封装 67
3.1.2 继承 68
3.1.3 多态 68
3.1.4 面向对象的ActionScript 3.0 69
3.2 类与对象 70
3.2.1 类的定义 70
3.2.2 类的属性 71
3.2.3 类的方法 72
3.2.4 对象 74
3.3 接口 77
3.3.1 接口简介 77
3.3.2 接口的定义 77
3.4 包与名称空间 78
3.4.1 包 78
3.4.2 名称空间 80
3.5 修饰符 83
3.5.1 类修饰符 83
3.5.2 属性修饰符 85
3.6 继承与实现 90
3.6.1 继承 90
3.6.2 实现 92
3.6.3 继承与实现的高级使用 94
3.7 覆盖 97
3.7.1 覆盖的语法 97
3.7.2 通过覆盖实现多态 99
3.8 动态类 101
3.8.1 动态类定义 101
3.8.2 动态类的使用 102
3.9 类图 103
3.9.1 类的图形表示 104
3.9.2 类关系的图形表示 105
3.10 设计模式 107
3.10.1 设计模式简介 107
3.10.2 创建模式 108
3.10.3 结构模式 113
3.10.4 行为模式 118
3.11 面向对象编程的实例 124
3.11.1 实例概述 124
3.11.2 面向对象设计 125
3.11.3 代码实现 126
3.12 常见面试题 133
3.12.1 基于ActionScript 3.0的面向对象编程 133
3.12.2 面向对象设计的概念 134
3.13 小结 134
3.14 习题 134
第4章 错误处理 136
4.1 错误分类 136
4.2 错误处理 137
4.2.1 捕获错误 137
4.2.2 错误比较 139
4.2.3 错误处理策略 140
4.3 自定义错误 142
4.4 常见面试题 146
4.5 小结 146
4.6 习题 147
第5章 编码规范 148
5.1 编码规范简介 148
5.1.1 使用编码规范的原因 148
5.1.2 文件结构 148
5.1.3 命名规则 150
5.1.4 注释 151
5.1.5 声明 152
5.2 常见面试题 155
5.3 小结 156
5.4 习题 156
第2篇 应用篇 158
第6章 数学计算 158
6.1 数字的表现 158
6.1.1 各种数字进制表现 158
6.1.2 进制转换 159
6.2 Math类简介 161
6.3 Math类常用方法 162
6.3.1 常用计算 162
6.3.2 三角函数 164
6.3.3 常量的使用 166
6.4 Flex应用中的数字格式化输出 166
6.4.1 CurrencyFormatter标签介绍 167
6.4.2 使用CurrencyFormatter标签 168
6.4.3 使用CurrencyFormatter类 170
6.5 Flex应用中的数字验证 173
6.5.1 NumberValidator标签介绍 173
6.5.2 使用NumberValidator标签 174
6.5.3 使用NumberValidator类 177
6.6 常见面试题 179
6.7 小结 180
6.8 习题 180
第7章 字符处理 182
7.1 String类简介 182
7.1.1 String的创建 182
7.1.2 String类的常用属性和方法简介 185
7.2 String类的常用方法 186
7.2.1 String的字符处理 186
7.2.2 连接字符串 188
7.2.3 查找与替换字符串 189
7.2.4 拆分字符串 191
7.2.5 字符串大小写转换 192
7.3 StringUtil类简介 193
7.4 StringUtil类常用方法 194
7.4.1 判断空白字符 194
7.4.2 去除字符串的空格 195
7.4.3 字符串的参数占位符 196
7.5 字符串的显示 197
7.5.1 在ActionScnpt 3.0代码中创建TextField 197
7.5.2 在Flex应用中使用Label组件和TextInput组件 199
7.6 Flex应用中的字符串验证 202
7.6.1 字符串验证组件简介 202
7.6.2 使用字符串验证组件验证字符串 206
7.7 常见面试题 209
7.8 小结 209
7.9 习题 210
第8章 数组 211
8.1 Array类简介 211
8.1.1 Array类实例的创建 211
8.1.2 Array类的常用属性和方法简介 212
8.2 Array类的常用方法 214
8.2.1 Array的栈操作 214
8.2.2 Array其他添加和删除元素方法 215
8.2.3 Array的排序 217
8.2.4 Array的拆分、连接与字符串转换 219
8.2.5 Array查找元素的方法 220
8.2.6 Array回调相关方法的使用 221
8.3 ArrayUtil类简介 226
8.4 ArrayUtil类常用方法 226
8.4.1 查找Array中的元素 226
8.4.2 将对象转换为Array 228
8.5 ArrayCollection标签 229
8.5.1 ArrayCollection类简介 229
8.5.2 ArrayCollection类的使用 230
8.6 Flex使用组件显示Array中的内容 231
8.6.1 列表交互结构 232
8.6.2 列表交互结构的实现 234
8.6.3 DataGrid类型组件简介 236
8.6.4 DataGrid类型组件交互的实现 237
8.7 常见面试题 241
8.8 小结 241
8.9 习题 242
第9章 日期与时间 243
9.1 Date类简介 243
9.1.1 Date类实例的创建 243
9.1.2 Date类的常用属性和方法简介 244
9.2 Date类的属性和方法 246
9.2.1 日期的比较操作 246
9.2.2 Date类其他比较方式 248
9.3 Date类的格式化 250
9.3.1 Date类的格式化输出 251
9.3.2 Date类的格式化输入 252
9.4 Timer类 253
9.4.1 Timer类简介 253
9.4.2 使用Timer类定时调用实例 254
9.5 使用Date类和Timer类实现系统时钟 255
9.5.1 实现系统时钟的思路 255
9.5.2 系统时钟的实现 255
9.6 Flex的Date相关组件 256
9.6.1 DateChooser和DateField组件介绍 256
9.6.2 使用DateChooser和DateField组件 258
9.7 常见面试题 260
9.8 小结 260
9.9 习题 261
第10章 XML处理 262
10.1 XML类简介 262
10.1.1 创建XML对象 262
10.1.2 XML类的常用属性和方法 264
10.1.3 其他XML相关对象 265
10.2 XML的操作 265
10.2.1 构建XML内容 265
10.2.2 访问XML子节点 269
10.2.3 访问XML节点属性 272
10.2.4 查找XML节点 274
10.2.5 遍历XML节点 276
10.2.6 XML类型转换 278
10.3 通过组件显示XML数据 280
10.3.1 Tree组件简介 280
10.3.2 使用Tree组件显示XML数据 281
10.3.3 MenuBar组件简介 283
10.3.4 使用MenuBar组件显示XML数据 284
10.3.5 使用DataGrid组件显示XML数据 286
10.4 常见面试题 288
10.5 小结 288
10.6 习题 289
第11章 多媒体处理 290
11.1 多媒体简介 290
11.2 声音处理相关类 291
11.2.1 声音处理相关类简介 291
11.2.2 声音的处理 292
11.3 视频处理类 295
11.3.1 视频处理类简介 295
11.3.2 使用视频类处理视频 297
11.4 使用组件创建多媒体应用 299
11.4.1 多媒体组件简介 299
11.4.2 使用VideoDisplay组件创建视频播放的应用 301
11.4.3 使用SWFLoader加载外部的SWF文件 304
11.5 常见面试题 305
11.6 小结 305
11.7 习题 306
第12章 可视化类 307
12.1 Flash Player显示架构 307
12.1.1 Flash Player内容显示的基本结构 307
12.1.2 Flash Player容器结构 307
12.2 核心显示类 308
12.2.1 核心显示类的继承结构 308
12.2.2 核心显示类的简介 308
12.3 使用核心显示类 309
12.3.1 使用Sprite类 309
12.3.2 使用SimpleButton类 313
12.3.3 使用Loader类 316
12.3.4 使用Bitmap类 318
12.4 常见面试题 322
12.5 小结 322
12.6 习题 323
第13章 动画 324
13.1 动画实现方式 324
13.2 基于enterFrame事件的动画 324
13.2.1 enterFrame事件 324
13.2.2 使用enterFrame事件进行动画开发 325
13.2.3 使用Timer进行动画开发 328
13.3 基于Flex的动画 329
13.3.1 基于Flex动画的简介 329
13.3.2 设定组件大小改变的动画效果 330
13.3.3 设定alpha值组件透明度改变的动画效果 332
13.3.4 组件位置移动动画效果 333
13.3.5 多个动画效果的组合 335
13.4 常见面试题 337
13.5 小结 337
13.6 习题 338
第14章 文件操作 339
14.1 文件操作类 339
14.1.1 文件操作类实例的创建 339
14.1.2 FileReference类 339
14.1.3 FileReferenceList类 340
14.1.4 FileFilter类 341
14.2 从服务端下载文件 341
14.2.1 通过ActionScript 3.0从服务器上下载文件 341
14.2.2 使用Flex下载文件 343
14.3 向服务端上传文件 346
14.3.1 基于ActionScript 3.0的文件上传 346
14.3.2 基于Flex与FileReferenceList类上传多个文件 353
14.4 常见面试题 357
14.5 小结 357
14.6 习题 358
第15章 系统操作与打印 359
15.1 系统操作类 359
15.1.1 Capabilities类简介 359
15.1.2 System类简介 361
15.1.3 IME类简介 361
15.2 系统操作类的使用 362
15.2.1 使用Capabilities类 362
15.2.2 使用System类 363
15.2.3 使用IME类 365
15.3 打印类 367
15.3.1 使用ActionScript 3.0打印 367
15.3.2 PrintJob类 368
15.3.3 PrintJobOptions类与PrintJobOrientation类简介 369
15.3.4 Flex框架下使用的打印类 369
15.4 使用打印类 370
15.4.1 使用ActionScript 3.0实现打印 370
15.4.2 使用Flex应用实现打印 373
15.5 常见面试题 378
15.6 小结 378
15.7 习题 378
第3篇 开发篇 380
第16章 简单数据传输 380
16.1 简单数据传输类 380
16.1.1 URLLoader类与URLLoader DataFormat类 380
16.1.2 URLRequest类、URLRequestHeader类和URLRequestMethod类 381
16.1.3 URLStream类 382
16.1.4 URLVariables类 384
16.2 从服务端加载数据 384
16.2.1 使用URLLoader类加载文本数据 384
16.2.2 使用URLLoader类加载二进制数据 385
16.2.3 使用URLStream类加载二进制数据 387
16.2.4 使用URLVariables类处理URL格式的数据 389
16.3 与服务端进行数据交互 390
16.4 一个完整的与服务端交互的Flex应用 392
16.4.1 构建项目 393
16.4.2 构建服务端的代码 394
16.4.3 构建客户端的代码 396
16.4.4 与服务端交互的Flex应用 398
16.5 常见面试题 399
16.6 小结 400
16.7 习题 400
第17章 本地数据存储与通信 401
17.1 本地数据存储类 401
17.1.1 本地数据存储文件 401
17.1.2 SharedObject类 402
17.2 使用SharedObject进行本地信息的存储 403
17.2.1 简单对象的本地对象存储 403
17.2.2 在Flex框架下使用Shared Object存储复杂对象 405
17.3 在多个应用中共享本地数据 407
17.4 本地SWF文件通信 411
17.4.1 LocalConnectiou类 411
17.4.2 LocalConnection类的使用方式 412
17.5 实现SWF文件通信的实例 413
17.6 常见面试题 415
17.7 小结 416
17.8 习题 417
第18章 远程数据调用 418
18.1 远程数据调用简介 418
18.1.1 远程数据调用方式的分类 418
18.1.2 远程数据调用架构 419
18.2 WebService 419
18.2.1 WebService构成技术 419
18.2.2 访问WebService的类库 420
18.3 一个访问WebService的Flex应用 422
18.4 LCDS 424
18.4.1 LCDS的安装 424
18.4.2 LCDS简介 426
18.4.3 ActionScript与Java数据类型的转换 427
18.4.4 LCDS的内容结构 428
18.5 构建一个基于LCDS的Flex应用 431
18.6 通过Remoting进行远程数据调用 433
18.6.1 Remoting服务 433
18.6.2 Remoting远程调用实例 434
18.7 常见面试题 438
18.8 小结 438
18.9 习题 439
第19章 与宿主语言通信 440
19.1 与宿主语言通信简介 440
19.2 调用JavaScript函数 442
19.3 调用ActionScript函数 445
19.4 传递数据给Flash 448
19.5 ActionScript与Ajax 449
19.5.1 Flex Ajax Bridge结构 449
19.5.2 Flex Ajax Bridge程序结构 449
19.5.3 Flex Ajax Bridge实现 450
19.6 常见面试题 475
19.7 小结 475
19.8 习题 475
第20章 网络编程 476
20.1 Socket类与XMLSocket类 476
20.1.1 Socket简介 476
20.1.2 Socket类和XMLSocket类 476
20.2 Socket类常用方法和事件 477
20.2.1 Socket类常用方法和事件简介 477
20.2.2 XMLSocket的常用方法和事件 482
20.3 使用Socket类进行网络编程——聊天室 484
20.4 使用XMLSocket类进行网络编程——聊天室 488
20.5 常见面试题 490
20.6 小结 490
20.7 习题 491
第21章 安全 492
21.1 安全模型简介 492
21.2 权限控制模型 493
21.2.1 权限控制层次结构 493
21.2.2 管理层权限设置 493
21.2.3 用户层权限设置 494
21.2.4 网站层权限设置 496
21.2.5 开发层权限设置 497
21.3 安全沙箱模型 497
21.4 内容与数据模型 499
21.4.1 内容访问模型 499
21.4.2 数据访问模型 500
21.5 设备与系统模型 501
21.5.1 LocalConnection安全模型 501
21.5.2 显示安全模型 501
21.5.3 外围设备安全模型 503
21.6 常见面试题 503
21.7 小结 504
第4篇 实例篇 506
第22章 ActionScript 3.0实例 506
22.1 3D导航菜单简介 506
22.2 构建一个三维立方体的二维表示 507
22.2.1 确定立方体的三维坐标 507
22.2.2 三维坐标的变换 507
22.2.3 构建一个立方体的二维表示 508
22.3 为立方体添加鼠标响应事件 512
22.4 加载导航菜单的资源 519
22.4.1 资源加载类结构 519
22.4.2 资源加载类实现 520
22.4.3 图片资源加载到立方体 525
22.5 图片数据变换 532
22.5.1 添充变换矩阵简介 532
22.5.2 构建图像变换添充类 533
22.5.3 将变换后的图像添充到立方体上 537
22.6 完善3D导航菜单 538
22.6.1 添加菜单数据与响应 538
22.6.2 完整的3D导航菜单代码结构 539
22.6.3 运行3D导航菜单 554
22.7 小结 555
第23章 基于Flex框架的应用实例 556
23.1 在线大头贴系统 556
23.1.1 功能需求 556
23.1.2 系统结构 556
23.2 数据库设计 556
23.2.1 表结构设计 557
23.2.2 数据库创建 557
23.3 数据访问代码设计 558
23.3.1 Hibernate 558
23.3.2 通过Hibernate映射对象到数据库 558
23.3.3 构建通过Hibernate访问数据库的代码 564
23.4 用户交互代码设计 566
23.4.1 服务访问配置 566
23.4.2 访问服务端的ActionScript 3.0代码结构 567
23.4.3 用户交互Flex代码 572
23.5 运行在线大头贴系统 579
23.6 小结 581